chore(14-01): update spec headers + README for desktop profile, cosmetic CI step rename
- Updated calendar.spec.ts header to list all three profiles (iphone/pixel/desktop) - Updated lists.spec.ts header to list all three profiles (iphone/pixel/desktop) - Updated e2e/README.md preamble to add 'Desktop Chrome (1280x720)' - Added --project=desktop example to README run-commands block - Updated README full-suite command comment to name all three profiles - Cosmetic: ci.yml step-name and comment updated to mention desktop (no plumbing change) - Full suite verified: 85 passed, 5 skipped (3 desktop geometry + 2 parity guards), 0 failed
This commit is contained in:
@@ -252,7 +252,7 @@ jobs:
|
|||||||
# CI=true makes Playwright start Vite :5173 itself (reuseExistingServer=false), use
|
# CI=true makes Playwright start Vite :5173 itself (reuseExistingServer=false), use
|
||||||
# retries:2/workers:1, and apply reporter:'github' — which --reporter=list,html overrides
|
# 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.
|
# 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:
|
env:
|
||||||
CI: 'true'
|
CI: 'true'
|
||||||
# Use 127.0.0.1 (not localhost): the runner image resolves `localhost` to ::1 first,
|
# Use 127.0.0.1 (not localhost): the runner image resolves `localhost` to ::1 first,
|
||||||
@@ -284,7 +284,7 @@ jobs:
|
|||||||
done
|
done
|
||||||
echo "API ready at :3000"
|
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
|
# 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
|
# `--` separator: `pnpm <root> test:e2e -- <args>` double-forwards the `--` into
|
||||||
# `playwright test -- <args>`, where playwright treats --reporter as a test-file filter →
|
# `playwright test -- <args>`, where playwright treats --reporter as a test-file filter →
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# E2E Test Harness
|
# 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
|
set -a; source .env; set +a
|
||||||
export DEV_AUTH_BYPASS=true DB_HOST=127.0.0.1 DB_PORT=3306
|
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
|
pnpm --filter @familysync/pwa test:e2e
|
||||||
|
|
||||||
# Single profile (faster local iteration)
|
# Single profile (faster local iteration)
|
||||||
pnpm --filter @familysync/pwa exec playwright test --project=pixel
|
pnpm --filter @familysync/pwa exec playwright test --project=pixel
|
||||||
|
pnpm --filter @familysync/pwa exec playwright test --project=desktop
|
||||||
|
|
||||||
# Headed (local debug — shows the browser)
|
# Headed (local debug — shows the browser)
|
||||||
pnpm --filter @familysync/pwa exec playwright test --headed
|
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).
|
* 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.
|
* global-setup seeds 'Seeded Test Event' on calendar_id=10 for user_id=1.
|
||||||
*
|
*
|
||||||
* Runs on both device profiles automatically (playwright.config.ts matrix):
|
* Runs on all three device profiles automatically (playwright.config.ts matrix):
|
||||||
* iphone: iPhone 14 / WebKit / 390×844
|
* iphone: iPhone 14 / WebKit / 390×844
|
||||||
* pixel: Pixel 7 / Chromium / 412×915
|
* pixel: Pixel 7 / Chromium / 412×915
|
||||||
|
* desktop: Desktop Chrome / Chromium / 1280×720 (all tests pass unchanged)
|
||||||
*
|
*
|
||||||
* Run:
|
* Run:
|
||||||
* pnpm --filter @familysync/pwa test:e2e
|
* pnpm --filter @familysync/pwa test:e2e
|
||||||
|
|||||||
@@ -13,9 +13,10 @@
|
|||||||
* The empty state is simulated by routing /api/lists to return [] BEFORE navigation —
|
* 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).
|
* this keeps the seeded DB intact (T-07-11 / D-06 deterministic seed).
|
||||||
*
|
*
|
||||||
* Runs on both device profiles automatically (playwright.config.ts matrix):
|
* Runs on all three device profiles automatically (playwright.config.ts matrix):
|
||||||
* iphone: iPhone 14 / WebKit / 390×844
|
* iphone: iPhone 14 / WebKit / 390×844
|
||||||
* pixel: Pixel 7 / Chromium / 412×915
|
* pixel: Pixel 7 / Chromium / 412×915
|
||||||
|
* desktop: Desktop Chrome / Chromium / 1280×720 (all tests pass unchanged)
|
||||||
*
|
*
|
||||||
* Run:
|
* Run:
|
||||||
* pnpm --filter @familysync/pwa test:e2e
|
* pnpm --filter @familysync/pwa test:e2e
|
||||||
|
|||||||
Reference in New Issue
Block a user