diff --git a/docker/auth/realm.json b/docker/auth/realm.json index e6d85fc..95b05ca 100644 --- a/docker/auth/realm.json +++ b/docker/auth/realm.json @@ -56,12 +56,34 @@ "realmRoles": ["user"] }, { - "username": "user-e2e", + "username": "user-e2e-chromium", "enabled": true, "credentials": [ { "type": "password", - "value": "password-e2e" + "value": "password-e2e-chromium" + } + ], + "realmRoles": ["user"] + }, + { + "username": "user-e2e-webkit", + "enabled": true, + "credentials": [ + { + "type": "password", + "value": "password-e2e-webkit" + } + ], + "realmRoles": ["user"] + }, + { + "username": "user-e2e-firefox", + "enabled": true, + "credentials": [ + { + "type": "password", + "value": "password-e2e-firefox" } ], "realmRoles": ["user"] diff --git a/src/frontend/apps/e2e/__tests__/app-desk/common.ts b/src/frontend/apps/e2e/__tests__/app-desk/common.ts index f67ba42..60ae6ab 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/common.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/common.ts @@ -1,13 +1,18 @@ import { Page } from '@playwright/test'; -export const keyCloakSignIn = async (page: Page) => { +export const keyCloakSignIn = async (page: Page, browserName: string) => { const title = await page.locator('h1').first().textContent({ timeout: 5000, }); if (title?.includes('Sign in to your account')) { - await page.getByRole('textbox', { name: 'username' }).fill('user-e2e'); - await page.getByRole('textbox', { name: 'password' }).fill('password-e2e'); + await page + .getByRole('textbox', { name: 'username' }) + .fill(`user-e2e-${browserName}`); + + await page + .getByRole('textbox', { name: 'password' }) + .fill(`password-e2e-${browserName}`); await page.click('input[type="submit"]'); } diff --git a/src/frontend/apps/e2e/__tests__/app-desk/header.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/header.spec.ts index dc45b3e..45f6d75 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/header.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/header.spec.ts @@ -2,9 +2,9 @@ import { expect, test } from '@playwright/test'; import { keyCloakSignIn } from './common'; -test.beforeEach(async ({ page }) => { +test.beforeEach(async ({ page, browserName }) => { await page.goto('/'); - await keyCloakSignIn(page); + await keyCloakSignIn(page, browserName); }); test.describe('Header', () => { diff --git a/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts index 4d8f217..e9cb8ef 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts @@ -2,9 +2,9 @@ import { expect, test } from '@playwright/test'; import { keyCloakSignIn } from './common'; -test.beforeEach(async ({ page }) => { +test.beforeEach(async ({ page, browserName }) => { await page.goto('/'); - await keyCloakSignIn(page); + await keyCloakSignIn(page, browserName); }); test.describe('Language', () => { diff --git a/src/frontend/apps/e2e/__tests__/app-desk/menu.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/menu.spec.ts index dd59e62..8c80a45 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/menu.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/menu.spec.ts @@ -2,9 +2,9 @@ import { expect, test } from '@playwright/test'; import { keyCloakSignIn } from './common'; -test.beforeEach(async ({ page }) => { +test.beforeEach(async ({ page, browserName }) => { await page.goto('/'); - await keyCloakSignIn(page); + await keyCloakSignIn(page, browserName); }); test.describe('Menu', () => { diff --git a/src/frontend/apps/e2e/__tests__/app-desk/teams.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/teams.spec.ts index 4535fdd..e9fa125 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/teams.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/teams.spec.ts @@ -4,9 +4,9 @@ import { waitForElementCount } from '../helpers'; import { keyCloakSignIn } from './common'; -test.beforeEach(async ({ page }) => { +test.beforeEach(async ({ page, browserName }) => { await page.goto('/'); - await keyCloakSignIn(page); + await keyCloakSignIn(page, browserName); }); test.describe.configure({ mode: 'serial' }); diff --git a/src/frontend/apps/e2e/playwright.config.ts b/src/frontend/apps/e2e/playwright.config.ts index 7b5b4d2..8f9c42d 100644 --- a/src/frontend/apps/e2e/playwright.config.ts +++ b/src/frontend/apps/e2e/playwright.config.ts @@ -20,7 +20,7 @@ export default defineConfig({ /* Retry on CI only */ retries: process.env.CI ? 2 : 0, /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, + workers: process.env.CI ? 3 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [['html', { outputFolder: './report' }]], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */