From d3bc69657b5cfc9e2401332f712fc993045034a5 Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Fri, 12 Jun 2026 08:19:04 -0400 Subject: [PATCH] feat(14-01): add desktop Playwright project (Desktop Chrome, 1280x720, no hasTouch) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Appended 'desktop' project entry after 'pixel' in playwright.config.ts projects array - Uses devices['Desktop Chrome'] with serviceWorkers: 'block' (D-02/Pitfall 15) - No baseURL override — inherited from top-level use block (D-08) - Updated file header jsdoc: three-profile matrix, added --project=desktop example --- apps/pwa/playwright.config.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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