import { defineConfig, devices } from "@playwright/test" export default defineConfig({ testDir: "./tests/e2e", fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 2 : undefined, reporter: [["html", { open: "never" }], ["list"]], use: { baseURL: "http://127.0.0.1:3000", trace: "retain-on-failure", screenshot: "only-on-failure", video: process.env.CI ? "retain-on-failure" : "off", }, webServer: { command: "npm run dev", port: 3000, reuseExistingServer: !process.env.CI, timeout: 180000, env: { SKIP_ENV_VALIDATION: "1", NEXTAUTH_SECRET: "test-nextauth-secret", NEXTAUTH_URL: "http://127.0.0.1:3000", DATABASE_URL: "mysql://test:test@127.0.0.1:3306/test_db", }, }, projects: [ { name: "chromium", use: { ...devices["Desktop Chrome"], channel: process.env.CI ? undefined : "chrome", }, }, ], })