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'] }, }, ], })