import { defineConfig } from '@playwright/test'; // Smoke-level e2e (WP-19): one happy path, one degraded path, against the REAL // backend — proving the FE+BE seam, not replacing component/unit tests. const baseURL = process.env['E2E_BASE_URL'] ?? 'http://localhost:4200'; export default defineConfig({ testDir: './e2e', timeout: 30_000, fullyParallel: true, retries: process.env['CI'] ? 1 : 0, reporter: process.env['CI'] ? 'github' : 'list', use: { baseURL, trace: 'on-first-retry', }, projects: [{ name: 'chromium', use: { browserName: 'chromium' } }], // CI starts `ng serve` + the backend as separate job steps (both need to be up // before the suite runs); locally, boot `npm start` automatically so `npm run e2e` // works standalone — the backend still needs `dotnet run` running separately. webServer: process.env['CI'] ? undefined : { command: 'npm start', url: baseURL, reuseExistingServer: true, timeout: 120_000, }, });