Feature: E2E Playwright test suite for registration flow #62

Closed
opened 2026-03-21 15:20:04 +00:00 by forgejo_admin · 1 comment

Type

Feature

Lineage

plan-wkq → Phase 11 (Girls Tryout — March 24)
Follow-up from spike westside-app #57

Repo

forgejo_admin/westside-app

User Story

As a platform operator
I want automated E2E tests that validate the full registration flow on production
So that we catch regressions before tryout day and can verify deploys instantly

Context

Girls tryout is March 24. Marcus is actively sharing the registration link with parents. We manually validated the full flow during spike #57 — tryouts landing → register form → promo payment → Keycloak account → dashboard login. This needs to be repeatable as an automated test so we don't rely on manual browser walks every time we deploy.

The production URL is westsidekingsandqueens.tail5b443a.ts.net. Test registrations use promo code TESTFREE to avoid Stripe charges.

File Targets

  • tests/e2e/registration.spec.js — new file, all 6 tests
  • playwright.config.js — may need creation/update for base URL config

Files NOT to touch:

  • src/ — no app code changes, this is test-only

Acceptance Criteria

  • Test 1: /tryouts loads — Queens logo, date, location, Register Now button
  • Test 2: Register Now → /register — 4-step progress bar, division defaults to Girls
  • Test 3: Submit disabled without waiver+signature
  • Test 4: Promo registration E2E — fill form, TESTFREE code, submit → confirmation shows credentials + correct domain (westsidekingsandqueens.tail5b443a.ts.net)
  • Test 5: Login with auto-created credentials → /my-players dashboard shows registered player
  • Test 6: Mobile viewport (390x844) — tryouts + register pages render without horizontal scroll

Test Expectations

  • All 6 Playwright tests pass against production URL
  • Tests are idempotent — each run uses a unique email (timestamp-based)
  • Run command: npx playwright test tests/e2e/registration.spec.js

Constraints

  • Target production URL, not localhost
  • Use promo code TESTFREE — never trigger real Stripe payments in tests
  • Each test run creates a real player record + Keycloak account — document cleanup procedure
  • Playwright browser, not Playwright MCP — these are standalone CI-runnable tests

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • westside-app #57 — spike that manually validated this flow
  • westside-app #60 — domain fix discovered during spike
  • plan-wkq → Phase 11
### Type Feature ### Lineage `plan-wkq` → Phase 11 (Girls Tryout — March 24) Follow-up from spike westside-app #57 ### Repo `forgejo_admin/westside-app` ### User Story As a platform operator I want automated E2E tests that validate the full registration flow on production So that we catch regressions before tryout day and can verify deploys instantly ### Context Girls tryout is March 24. Marcus is actively sharing the registration link with parents. We manually validated the full flow during spike #57 — tryouts landing → register form → promo payment → Keycloak account → dashboard login. This needs to be repeatable as an automated test so we don't rely on manual browser walks every time we deploy. The production URL is `westsidekingsandqueens.tail5b443a.ts.net`. Test registrations use promo code `TESTFREE` to avoid Stripe charges. ### File Targets - `tests/e2e/registration.spec.js` — new file, all 6 tests - `playwright.config.js` — may need creation/update for base URL config Files NOT to touch: - `src/` — no app code changes, this is test-only ### Acceptance Criteria - [ ] Test 1: `/tryouts` loads — Queens logo, date, location, Register Now button - [ ] Test 2: Register Now → `/register` — 4-step progress bar, division defaults to Girls - [ ] Test 3: Submit disabled without waiver+signature - [ ] Test 4: Promo registration E2E — fill form, TESTFREE code, submit → confirmation shows credentials + correct domain (`westsidekingsandqueens.tail5b443a.ts.net`) - [ ] Test 5: Login with auto-created credentials → `/my-players` dashboard shows registered player - [ ] Test 6: Mobile viewport (390x844) — tryouts + register pages render without horizontal scroll ### Test Expectations - [ ] All 6 Playwright tests pass against production URL - [ ] Tests are idempotent — each run uses a unique email (timestamp-based) - Run command: `npx playwright test tests/e2e/registration.spec.js` ### Constraints - Target production URL, not localhost - Use promo code `TESTFREE` — never trigger real Stripe payments in tests - Each test run creates a real player record + Keycloak account — document cleanup procedure - Playwright browser, not Playwright MCP — these are standalone CI-runnable tests ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - westside-app #57 — spike that manually validated this flow - westside-app #60 — domain fix discovered during spike - `plan-wkq` → Phase 11
Author
Owner

Closing — deprecated. Contract infrastructure complete, Phase 15 SPA overhaul supersedes current-app features.

Closing — deprecated. Contract infrastructure complete, Phase 15 SPA overhaul supersedes current-app features.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/westside-landing#62
No description provided.