import { defineConfig, devices } from '@playwright/test' /** * Configuration Playwright pour les tests d'intégration E2E de Regnum. * * `webServer` démarre automatiquement le serveur Node/Socket.io ET le * serveur de dev Vite du client avant de lancer les tests (et les arrête à * la fin), pour que la suite soit reproductible avec une seule commande * (`npm test` depuis e2e/) sans dépendre de processus déjà lancés à la main. */ export default defineConfig({ testDir: './tests', fullyParallel: false, // les tests partagent le même serveur de jeu (rooms par test, mais évite la contention) retries: process.env.CI ? 1 : 0, workers: 1, timeout: 60_000, reporter: [['list']], use: { baseURL: 'http://localhost:5173', trace: 'retain-on-failure', screenshot: 'only-on-failure' }, webServer: [ { command: 'npm run dev', cwd: '../server', url: 'http://localhost:3000/health', reuseExistingServer: !process.env.CI, timeout: 30_000 }, { command: 'npm run dev -- --port 5173 --strictPort', cwd: '../client', url: 'http://localhost:5173', reuseExistingServer: !process.env.CI, timeout: 30_000 } ], projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] } } ] })