diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts index 41ef9dca..1e14c42e 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts @@ -484,8 +484,6 @@ test.describe('Doc Export', () => { const pdfString = pdfBuffer.toString('latin1'); expect(pdfString).toContain('/Lang (fr)'); - - await waitForLanguageSwitch(page, TestLanguage.English); }); test('it exports the doc with interlinking', async ({ 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 c3888ac7..c88ade2a 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts @@ -1,26 +1,10 @@ -import { Page, expect, test } from '@playwright/test'; +import { expect, test } from '@playwright/test'; import { TestLanguage, createDoc, waitForLanguageSwitch } from './utils-common'; -test.describe.serial('Language', () => { - let page: Page; - - test.beforeAll(async ({ browser }) => { - page = await browser.newPage(); - }); - - test.afterAll(async () => { - await page.close(); - }); - +test.describe('Language', () => { test.beforeEach(async ({ page }) => { await page.goto('/'); - await waitForLanguageSwitch(page, TestLanguage.English); - }); - - test.afterEach(async ({ page }) => { - // Switch back to English - important for other tests to run as expected - await waitForLanguageSwitch(page, TestLanguage.English); }); test('checks language switching', async ({ page }) => { 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 09dac792..4cbf886b 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts @@ -296,6 +296,18 @@ export async function waitForLanguageSwitch( page: Page, lang: TestLanguageValue, ) { + 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(); + } + }); + const header = page.locator('header').first(); const languagePicker = header.locator('.--docs--language-picker-text'); const isAlreadyTargetLanguage = await languagePicker @@ -307,15 +319,6 @@ export async function waitForLanguageSwitch( } await languagePicker.click(); - const responsePromise = page.waitForResponse( - (resp) => - resp.url().includes('/user') && resp.request().method() === 'PATCH', - ); - await page.getByLabel(lang.label).click(); - const resolvedResponsePromise = await responsePromise; - const responseData = (await resolvedResponsePromise.json()) as { - language: string; - }; - expect(lang.expectedLocale).toContain(responseData.language); + await page.getByLabel(lang.label).click(); }