import { defineConfig, devices } from "@playwright/test"; /** * Playwright configuration for EnCoach frontend smoke tests. * * By default we run against a Vite preview server on localhost:4173. In CI * this is started by the `playwright` step in .github/workflows/ci.yml after * `npm run build`. * * Override the base URL with `PLAYWRIGHT_BASE_URL=https://... npx playwright * test` to run against a deployed environment. */ const baseURL = process.env.PLAYWRIGHT_BASE_URL || "http://localhost:4173"; export default defineConfig({ testDir: "./e2e", timeout: 30_000, expect: { timeout: 5_000 }, fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, reporter: process.env.CI ? [["github"], ["list"]] : [["list"]], use: { baseURL, trace: "on-first-retry", screenshot: "only-on-failure", }, webServer: process.env.PLAYWRIGHT_SKIP_WEBSERVER ? undefined : { command: "npm run preview -- --host 127.0.0.1 --port 4173", url: baseURL, reuseExistingServer: !process.env.CI, timeout: 60_000, }, projects: [ { name: "chromium", use: { ...devices["Desktop Chrome"] }, }, ], });