Files
Coltura/frontend/playwright.config.ts
matthieu 4603ab2832 test(e2e) : initialise la suite Playwright (login + sidebar RBAC)
- 11 tests couvrant le login (3) et la visibilite sidebar par RBAC (8)
- 6 personas seedes via la commande app:seed-e2e, miroir cote front
  dans frontend/tests/e2e/_fixtures/personas.ts
- Page Objects (LoginPage, SidebarComponent) avec selecteurs stables
  par href + loginAs programmatique via cookie BEARER
- Targets Makefile : seed-e2e, test-e2e, test-e2e-ui, install-e2e-deps
- CLAUDE.md + README.md : workflow E2E + regle d'or "un E2E par bug
  prod uniquement" pour garder la suite maintenable dans la duree

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:27:05 +02:00

43 lines
1.4 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test'
/**
* Config Playwright pour les tests E2E de Coltura.
*
* Pre-requis avant de lancer :
* 1. Les containers Docker tournent (`make start`)
* 2. Le dev server Nuxt est lance (`make dev-nuxt`) sur le port 3004
* 3. Les personas E2E sont seedes (`make seed-e2e` — cf. SeedE2ECommand cote back)
*
* La baseURL cible le dev server Nuxt (HMR) en dev local ; surcharger avec
* PLAYWRIGHT_BASE_URL=http://localhost:8083 pour taper sur le build Nginx
* (au plus pres de la prod, utile en CI).
*/
export default defineConfig({
testDir: './tests/e2e',
// Interdit `test.only` en CI pour ne pas skipper involontairement la suite.
forbidOnly: !!process.env.CI,
// Pas de retry en local (bugs a reproduire), 2 retries en CI (flaky mitige).
retries: process.env.CI ? 2 : 0,
// Parallelisme : 1 worker local pour faciliter le debug, defaut en CI.
workers: process.env.CI ? undefined : 1,
reporter: process.env.CI ? [['github'], ['html', { open: 'never' }]] : 'list',
use: {
baseURL: process.env.PLAYWRIGHT_BASE_URL || 'http://localhost:3004',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
})