fix(ui): различать нулевые и неизвестные счётчики WireGuard

This commit is contained in:
Denozordec committed 2026-10-04 11:58:10 +07:00
1 parent 53c1bfbd3b
commit 7693b32372
9 files changed
+59 -16

No files matched your search

+20
View File
@@ -45,3 +45,23 @@ test("WireGuard: пустые интерфейсы и пиры", async ({ page }
await page.getByRole("tab", { name: /Пиры/ }).click()
await expect(page.getByText("Нет пиров", { exact: true })).toBeVisible()
})
for (const view of ["details", "peers"] as const) test("WireGuard traffic: observed zero differs from missing/" + view, async ({ page }) => {
await setup(page)
const interfaces = fixture.interfaces.map((row, i) => ({ ...row, peers: row.peers.map(peer => {
const { transferRx, transferTx, ...config } = peer
return i === 0 ? { ...config, transferRx: 0, transferTx: 0 } : i === 1 ? config : { ...config, transferRx, transferTx }
}) }))
await page.route("**/api/wireguard", route => route.fulfill({ json: wgListResponseSchema.parse({ interfaces }) }))
await page.reload()
const rows = page.locator("tr[data-row-id]")
if (view === "peers") await page.getByRole("tab", { name: /Пиры/ }).click()
for (const [index, value] of [[0, "0 Б"], [1, "—"], [2, "3 Б"]] as const) {
const row = rows.nth(index)
if (view === "details") await row.click()
const target = view === "details" ? row.locator("xpath=following-sibling::tr[1]") : row
await expect(target.getByLabel("RX", { exact: true })).toHaveText(value)
await expect(target.getByLabel("TX", { exact: true })).toHaveText(value)
if (view === "details") await row.click()
}
})