import { defineConfig, devices } from '@playwright/test'; /** * Playwright E2E configuration for Mosaic web app. * * Assumes: * - Next.js web app running on http://localhost:3000 * - NestJS gateway running on http://localhost:14242 * * Run with: pnpm --filter @mosaic/web test:e2e */ export default defineConfig({ testDir: './e2e', fullyParallel: true, forbidOnly: !!process.env['CI'], retries: process.env['CI'] ? 2 : 0, workers: process.env['CI'] ? 1 : undefined, reporter: 'html', use: { baseURL: process.env['PLAYWRIGHT_BASE_URL'] ?? 'http://localhost:3000', trace: 'on-first-retry', screenshot: 'only-on-failure', }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, ], // Do NOT auto-start the dev server — tests assume it is already running. // webServer is intentionally omitted so tests can run against a live env. });