diff --git a/apps/pwa/playwright.config.ts b/apps/pwa/playwright.config.ts index c84a770..7a194ba 100644 --- a/apps/pwa/playwright.config.ts +++ b/apps/pwa/playwright.config.ts @@ -1,15 +1,16 @@ /** - * Playwright configuration — Phase 7 Mobile Test Harness + * Playwright configuration — Phase 7 Mobile Test Harness + Phase 14 Desktop * - * Two-profile device matrix: iPhone 14/WebKit + Pixel 7/Chromium + * Three-profile device matrix: iPhone 14/WebKit + Pixel 7/Chromium + Desktop Chrome * Auth: DEV_AUTH_BYPASS=true on the API (never storageState — D-01/Pitfall 14) - * SW: serviceWorkers: 'block' on both profiles (D-02/Pitfall 15) + * SW: serviceWorkers: 'block' on all profiles (D-02/Pitfall 15) * baseURL: env-driven PLAYWRIGHT_BASE_URL (D-08/Rule 8) * webServer: manages Vite only — API+MariaDB+Redis stay compose-managed (D-10) * * Run: * pnpm --filter @familysync/pwa test:e2e * pnpm --filter @familysync/pwa exec playwright test --project=pixel + * pnpm --filter @familysync/pwa exec playwright test --project=desktop */ import { defineConfig, devices } from '@playwright/test'; @@ -52,6 +53,14 @@ export default defineConfig({ serviceWorkers: 'block', }, }, + { + // Desktop Chrome: 1280×720 viewport, Chromium engine, no hasTouch (D-06) + name: 'desktop', + use: { + ...devices['Desktop Chrome'], + serviceWorkers: 'block', + }, + }, ], // D-10: manage Vite only; API+MariaDB+Redis are compose-managed