fix(ui): завершить локальную приёмку трафика и статистики

This commit is contained in:
Denozordec committed 2026-09-28 23:45:48 +07:00
1 parent 48b7a061c1
commit 165f40acd7
10 files changed
+130 -28

No files matched your search

+29
View File
@@ -446,3 +446,32 @@ test('Flow: клавиатурный выбор сервера и месяца
await expect(month).toHaveAttribute('aria-pressed', 'true')
await expect(page.getByLabel('Месяц отчёта (UTC)', { exact: true })).toBeVisible()
})
test('Flow: панель подключения удерживает Tab-фокус и закрывается Escape без записи', async ({ page }) => {
await setup(page)
const writes: string[] = []
page.on('request', r => { if (r.method() !== 'GET') writes.push(r.url()) })
const trigger = page.getByRole('button', { name: 'Подключить JH', exact: true })
await trigger.focus()
await page.keyboard.press('Enter')
const dialog = page.getByRole('dialog', { name: 'Подключить jump-host', exact: true })
await expect(dialog).toBeVisible()
await expect(dialog.getByRole('combobox', { name: 'Jump-host', exact: true })).toBeVisible()
const endpoint = dialog.getByRole('textbox', { name: 'Публичный IP или DNS jump-host', exact: true })
await endpoint.focus()
for (let i = 0; i < 10; i++) {
await page.keyboard.press('Tab')
await expect.poll(() => dialog.evaluate(node => node.contains(document.activeElement))).toBe(true)
}
await expect(dialog.getByRole('switch', { name: 'Выключить FastPath на GRE' })).toBeVisible()
await endpoint.fill('changed.example.test')
await page.keyboard.press('Escape')
await expect(dialog).toHaveCount(0)
await expect(trigger).toBeFocused()
await page.keyboard.press('Enter')
await expect(endpoint).toHaveValue('127.0.0.1')
await page.keyboard.press('Escape')
await expect(dialog).toHaveCount(0)
expect(writes).toHaveLength(0)
})