import { defineConfig, devices } from "@playwright/test"; const port = Number(process.env.PROJECTBRAIN_E2E_PORT ?? 4177); const baseURL = `http://127.0.0.1:${port}`; export default defineConfig({ testDir: "./e2e", outputDir: "./test-results/mock", fullyParallel: false, workers: 2, timeout: 60_000, retries: process.env.CI ? 1 : 0, reporter: process.env.CI ? [["html", { open: "never" }], ["line"]] : "line", use: { baseURL, trace: "retain-on-failure", screenshot: "only-on-failure", video: "retain-on-failure", }, webServer: { command: `pnpm exec vite --host 127.0.0.1 --port ${port} --strictPort`, url: baseURL, reuseExistingServer: !process.env.CI, timeout: 120_000, }, projects: [ { name: "chromium-desktop", use: { ...devices["Desktop Chrome"] } }, { name: "chromium-tablet", use: { ...devices["Desktop Chrome"], viewport: { width: 1024, height: 768 }, hasTouch: true } }, { name: "chromium-mobile", use: { ...devices["Pixel 7"] } }, ], });