From 73f34d0a9eeb570602bd97ab0dbd41f3e237cc9b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 14:05:25 +0000 Subject: [PATCH] Add root playwright.config.ts to fix test discovery - Create root-level playwright config that properly scopes test discovery - Configure testMatch to only find *.spec.ts files (not unit tests) - Point testDir to ./e2e explicitly - Fix webServer command to generate Prisma and start Next.js dev server - Resolves test discovery picking up Vitest unit tests causing import errors Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com> --- playwright.config.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 playwright.config.ts diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 000000000..a65995532 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,56 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * Root Playwright configuration for E2E tests + * See https://playwright.dev/docs/test-configuration + */ +export default defineConfig({ + // Only look for test files in the e2e directory + testDir: './e2e', + + // Only match files that end with .spec.ts (excludes .test.ts which are unit tests) + testMatch: '**/*.spec.ts', + + // Run tests in files in parallel + fullyParallel: true, + + // Fail the build on CI if you accidentally left test.only in the source code + forbidOnly: !!process.env.CI, + + // Retry on CI only + retries: process.env.CI ? 2 : 0, + + // Opt out of parallel tests on CI + workers: process.env.CI ? 1 : undefined, + + // Reporter to use + reporter: 'html', + + // Shared settings for all the projects below + use: { + // Base URL to use in actions like `await page.goto('/')` + baseURL: 'http://localhost:3000', + + // Collect trace when retrying the failed test + trace: 'on-first-retry', + + // Take screenshot on failure + screenshot: 'only-on-failure', + }, + + // Configure projects for major browsers + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + ], + + // Run your local dev server before starting the tests + webServer: { + command: 'npm --prefix frontends/nextjs run db:generate && npm --prefix frontends/nextjs run dev', + url: 'http://localhost:3000', + reuseExistingServer: !process.env.CI, + timeout: 300 * 1000, + }, +});