feat(14-01): add desktop Playwright project (Desktop Chrome, 1280x720, no hasTouch)

- 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
This commit is contained in:
Lucas Berger
2026-06-12 08:19:04 -04:00
parent 5c3bd5c1ea
commit d3bc69657b
+12 -3
View File
@@ -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