diff --git a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts index 51082d147..6dccf90fa 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts @@ -68,14 +68,19 @@ test.describe('Language', () => { }); test('can switch language using only keyboard', async ({ page }) => { - await waitForLanguageSwitch(page, TestLanguage.English, 'User menu', false); + // switch to french + await waitForLanguageSwitch(page, TestLanguage.French); - await page.getByLabel('User menu').click(); + await page.getByLabel('Menu utilisateur').click(); await page.keyboard.press('Tab'); await page.keyboard.press('Tab'); await page.keyboard.press('Enter'); + await expect( + page.getByRole('button', { name: 'Déconnexion' }), + ).toBeVisible(); + await expect(page.getByRole('menuitem', { name: 'English' })).toBeVisible(); await expect( page.getByRole('menuitem', { name: 'Français' }), @@ -83,22 +88,6 @@ test.describe('Language', () => { await page.waitForTimeout(300); - await page.keyboard.press('ArrowDown'); - await page.keyboard.press('Enter'); - - await expect(page.locator('html')).toHaveAttribute('lang', 'fr'); - await expect( - page.getByRole('button', { name: 'Déconnexion' }), - ).toBeVisible(); - - await page.keyboard.press('Escape'); - - await page.getByLabel('Menu utilisateur').click(); - - await page.keyboard.press('Tab'); - await page.keyboard.press('Tab'); - await page.keyboard.press('Enter'); - await page.waitForTimeout(300); await page.keyboard.press('ArrowDown'); await page.keyboard.press('ArrowUp'); await page.keyboard.press('Enter'); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts b/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts index b42785719..dccb9e746 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts @@ -402,20 +402,7 @@ export async function waitForLanguageSwitch( page: Page, lang: TestLanguageValue, labelUserMenu = 'User menu', - withMocking = true, ) { - await page.route(/\**\/api\/v1.0\/users\/\**/, async (route, request) => { - if (request.method().includes('PATCH') && withMocking) { - await route.fulfill({ - json: { - language: lang.expectedLocale[0], - }, - }); - } else { - await route.continue(); - } - }); - await page.getByLabel(labelUserMenu).click(); const languagePicker = page.getByRole('button', { name: /Language/ }); const isAlreadyTargetLanguage = await languagePicker @@ -427,6 +414,18 @@ export async function waitForLanguageSwitch( return; } + await page.route(/\**\/api\/v1.0\/users\/\**/, async (route, request) => { + if (request.method().includes('PATCH')) { + await route.fulfill({ + json: { + language: lang.expectedLocale[0], + }, + }); + } else { + await route.continue(); + } + }); + await languagePicker.click(); await page.getByRole('menuitem', { name: lang.label }).click();