Phase 14: desktop e2e coverage (add blocking Desktop Chrome Playwright gate) #10
@@ -252,7 +252,7 @@ jobs:
|
||||
# CI=true makes Playwright start Vite :5173 itself (reuseExistingServer=false), use
|
||||
# retries:2/workers:1, and apply reporter:'github' — which --reporter=list,html overrides
|
||||
# because Gitea does not render github annotations (Pitfall 5 / D-06). Both projects run.
|
||||
- name: Run harness (start API + Playwright iphone + pixel)
|
||||
- name: Run harness (start API + Playwright iphone + pixel + desktop)
|
||||
env:
|
||||
CI: 'true'
|
||||
# Use 127.0.0.1 (not localhost): the runner image resolves `localhost` to ::1 first,
|
||||
@@ -284,7 +284,7 @@ jobs:
|
||||
done
|
||||
echo "API ready at :3000"
|
||||
|
||||
# Run the Phase 7 harness across both profiles; preserve its exit code, always kill the API.
|
||||
# Run the Phase 7/14 harness across all three profiles (iphone, pixel, desktop); preserve its exit code, always kill the API.
|
||||
# Call the pwa test:e2e script DIRECTLY (single pnpm layer) and append --reporter without a
|
||||
# `--` separator: `pnpm <root> test:e2e -- <args>` double-forwards the `--` into
|
||||
# `playwright test -- <args>`, where playwright treats --reporter as a test-file filter →
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# E2E Test Harness
|
||||
|
||||
Playwright test harness for the FamilySync PWA — mobile-emulated (iPhone 14/WebKit + Pixel 7/Chromium), authenticated via `DEV_AUTH_BYPASS`, deterministically seeded, runs headlessly in CI.
|
||||
Playwright test harness for the FamilySync PWA — mobile-emulated (iPhone 14/WebKit + Pixel 7/Chromium) and Desktop Chrome (1280×720), authenticated via `DEV_AUTH_BYPASS`, deterministically seeded, runs headlessly in CI.
|
||||
|
||||
---
|
||||
|
||||
@@ -34,11 +34,12 @@ environment (not only the API's). Source the DB credentials from the repo-root `
|
||||
set -a; source .env; set +a
|
||||
export DEV_AUTH_BYPASS=true DB_HOST=127.0.0.1 DB_PORT=3306
|
||||
|
||||
# Full suite — both iPhone (WebKit) and Pixel (Chromium) profiles
|
||||
# Full suite — iPhone (WebKit), Pixel (Chromium), Desktop Chrome profiles
|
||||
pnpm --filter @familysync/pwa test:e2e
|
||||
|
||||
# Single profile (faster local iteration)
|
||||
pnpm --filter @familysync/pwa exec playwright test --project=pixel
|
||||
pnpm --filter @familysync/pwa exec playwright test --project=desktop
|
||||
|
||||
# Headed (local debug — shows the browser)
|
||||
pnpm --filter @familysync/pwa exec playwright test --headed
|
||||
|
||||
@@ -10,9 +10,10 @@
|
||||
* Requires the dev stack running with DEV_AUTH_BYPASS=true (see e2e/README.md).
|
||||
* global-setup seeds 'Seeded Test Event' on calendar_id=10 for user_id=1.
|
||||
*
|
||||
* Runs on both device profiles automatically (playwright.config.ts matrix):
|
||||
* iphone: iPhone 14 / WebKit / 390×844
|
||||
* pixel: Pixel 7 / Chromium / 412×915
|
||||
* Runs on all three device profiles automatically (playwright.config.ts matrix):
|
||||
* iphone: iPhone 14 / WebKit / 390×844
|
||||
* pixel: Pixel 7 / Chromium / 412×915
|
||||
* desktop: Desktop Chrome / Chromium / 1280×720 (all tests pass unchanged)
|
||||
*
|
||||
* Run:
|
||||
* pnpm --filter @familysync/pwa test:e2e
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
* The empty state is simulated by routing /api/lists to return [] BEFORE navigation —
|
||||
* this keeps the seeded DB intact (T-07-11 / D-06 deterministic seed).
|
||||
*
|
||||
* Runs on both device profiles automatically (playwright.config.ts matrix):
|
||||
* iphone: iPhone 14 / WebKit / 390×844
|
||||
* pixel: Pixel 7 / Chromium / 412×915
|
||||
* Runs on all three device profiles automatically (playwright.config.ts matrix):
|
||||
* iphone: iPhone 14 / WebKit / 390×844
|
||||
* pixel: Pixel 7 / Chromium / 412×915
|
||||
* desktop: Desktop Chrome / Chromium / 1280×720 (all tests pass unchanged)
|
||||
*
|
||||
* Run:
|
||||
* pnpm --filter @familysync/pwa test:e2e
|
||||
|
||||
Reference in New Issue
Block a user