From 5248074964c78bf8168f36573c43ce37f746675a Mon Sep 17 00:00:00 2001 From: mrleo1nid <43583385+mrleo1nid@users.noreply.github.com> Date: Thu, 29 Oct 2026 22:54:22 +0300 Subject: [PATCH] fix(web): stabilize navigation labels and upload browser tests --- apps/web/e2e/mobile.spec.ts | 2 ++ apps/web/e2e/upload-review.spec.ts | 4 +++- apps/web/src/widgets/AppShell.tsx | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/web/e2e/mobile.spec.ts b/apps/web/e2e/mobile.spec.ts index 02fa75f..ee442bf 100644 --- a/apps/web/e2e/mobile.spec.ts +++ b/apps/web/e2e/mobile.spec.ts @@ -69,6 +69,8 @@ for (const [width, username] of [[320, 'mobile-admin'], [390, 'moderator'], [430 await page.getByRole('button', { name: 'Ещё', exact: true }).click(); await page.getByRole('dialog').getByRole('link', { name: 'Очередь', exact: true }).click(); await expect(page.getByRole('heading', { name: 'Очередь на добавление' })).toBeVisible(); + await expect(page.locator('audio')).toBeHidden(); + await page.getByRole('button', { name: 'Развернуть пачку', exact: true }).click(); await expect(page.locator('audio')).toBeVisible(); await fits(page); await page.getByRole('checkbox', { name: /^Выбрать Длинное/ }).check(); diff --git a/apps/web/e2e/upload-review.spec.ts b/apps/web/e2e/upload-review.spec.ts index 0092bc1..5c6573d 100644 --- a/apps/web/e2e/upload-review.spec.ts +++ b/apps/web/e2e/upload-review.spec.ts @@ -180,7 +180,9 @@ test('queue shows the storage and path, and recalculates after fixing placement' await expect(page.getByRole('checkbox', { name: 'Выбрать всю пачку', exact: true })).toBeChecked(); await page.getByRole('button', { name: 'Развернуть пачку', exact: true }).press('Enter'); await expect(page.getByText('Artist/Album/01 - Song.flac', { exact: true })).toBeVisible(); - await page.getByRole('checkbox', { name: 'Выбрать всю пачку', exact: true }).uncheck(); + // Continue keyboard selection after keyboard expansion, avoiding another scroll-dependent pointer action. + await page.getByRole('checkbox', { name: 'Выбрать всю пачку', exact: true }).press('Space'); + await expect(page.getByRole('checkbox', { name: 'Выбрать всю пачку', exact: true })).not.toBeChecked(); await page.getByRole('button', { name: 'Выбрать хранилище', exact: true }).click(); const dialog = page.getByRole('dialog'); await dialog.getByLabel('Исполнитель', { exact: true }).fill('Artist'); diff --git a/apps/web/src/widgets/AppShell.tsx b/apps/web/src/widgets/AppShell.tsx index 06932ce..ba9aec2 100644 --- a/apps/web/src/widgets/AppShell.tsx +++ b/apps/web/src/widgets/AppShell.tsx @@ -151,9 +151,9 @@ function NavSection({ {mobile ? (