- 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>
43 lines
1.4 KiB
TypeScript
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'] },
|
|
},
|
|
],
|
|
})
|