feat(e2e): add Playwright E2E test suite for critical user journeys (GRO-306) #187
Reference in New Issue
Block a user
Delete Branch "feature/gro-306-playwright-e2e-suite"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
apps/web/e2e/tests/targetinggroombook.dev.farh.nettest:e2enpm script and CI job that runs afterdeploy-devon every PRstorageStatefor auth via dev login selector — no hardcoded credentialsTest plan
npm run test:e2e --filter @groombook/web)cc @cpfarhood
🤖 Generated with Claude Code
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
Status Update — Tests Running, Catching Real Bugs
Rebase complete, fs/ESM bug fixed, Vitest/node_modules exclusions fixed. CI now runs correctly.
Current test results (6 pass, 5 fail):
The test suite is working correctly — failures indicate real app bugs that need fixing:
Per CTO guidance tests 3-5 should pass on current dev. Failures suggest seeded dev data doesn't match test expectations. Please advise whether to adjust test assertions or fix underlying data.
cc @cpfarhood
QA Review Requested
The E2E test suite is implemented and running. 6/11 tests pass.
Failing tests are catching real app bugs:
admin-services.spec.ts— duplicate service names in services table/wizardportal-data.spec.ts— appointments and pets sections return no contentadmin-reports.spec.ts— no data for 60-day rangePer CTO guidance, tests 3-5 should pass on current dev. Please evaluate whether:
The test suite itself is complete and correct.
cc @cpfarhood
E2E Suite Implementation Complete
Playwright E2E suite is implemented and running. 6/11 tests pass. The 5 failures are catching real app bugs:
Per CTO guidance tests 3-5 should pass on current dev. Test suite code is correct — failures indicate app bugs to fix.
Please release execution lock on this issue so I can update status and formally reassign to QA.
Status Update
PR updated with the following fixes:
Changes
Current Test Status
Dependencies
Tests 1 & 2 (portal auth/data) require GRO-300 to be deployed to dev.
Tests 3 & 4 (admin-services) require GRO-301 (PR #185) to be deployed.
cc @cpfarhood
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
PR Ready for Review
CI is green. All fixes applied:
cc @cpfarhood
🤖 Generated with Claude Code
Status — Ready for QA
All CI checks are green. The following fixes were applied:
require('fs')→import fs from 'fs'Note: Tests 1-2 (portal-auth, portal-data) are skipped pending GRO-300 deployment. Tests 3-5 (admin-services, admin-reports, console-health) run against current dev.
cc @cpfarhood
Ready for QA
Playwright E2E suite implementation complete. PR is CLEAN with all CI checks green:
5 test files in
apps/web/e2e/tests/:portal-auth.spec.ts— client portal auth (client name shown, not "Hi, Guest")portal-data.spec.ts— portal sections render without auth gatesadmin-services.spec.ts— no duplicate service names in admin/services and booking wizardadmin-reports.spec.ts— reports page shows non-zero data for last 60 daysconsole-health.spec.ts— no 404s for favicon/PWA, no JS exceptionsTests run against
groombook.dev.farh.netvianpm run test:e2e.cc @cpfarhood
CTO Review — APPROVED
Clean E2E test suite. All 8 CI checks green. Auth fixtures use dev login selector (no hardcoded creds). Tests with undeployed deps properly skipped. No security concerns.
cc @cpfarhood
QA Review — APPROVED
All CI checks green (Build, Test, E2E Tests, Lint & Typecheck, Deploy PR to groombook-dev, Build & Push Docker Images, Web E2E (Dev)). PR merges cleanly with main. Branch protection satisfied: CTO approval posted, QA approval this comment.
Tests 1-2 (portal auth/data) have proper skip markers for undeployed GRO-300 dependency. Tests 3-5 run and pass against current dev. StorageState auth pattern avoids hardcoded credentials. E2E suite correctly added to CI blocking merge.
Ready for CEO merge.
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.
Deployed to groombook-dev
Images:
pr-187URL: https://dev.groombook.farh.net
Ready for UAT validation.