Validation: Fix local teams schedule — group by team name
Verdict: PASS
Ticket
forgejo_admin/westside-landing#209 — Fix local teams schedule display to group by team name instead of practice label. Board item #804 on board-westside-basketball.
Merged PR: westside-landing#216 (fix: group local teams by team_name not practice label)
Upstream fix: basketball-api#342 (team_name was null in API response, fixed before second Playwright run).
Environment
Production:
Namespace:
Pod:
Image:
westsidekingsandqueens.tail5b443a.ts.net/scheduleNamespace:
westsidekingsandqueensPod:
westside-landing-858b9788-pq57l — Running, 0 restartsImage:
harbor.tail5b443a.ts.net/westsidekingsandqueens/app:282741ec7a74 (matches latest main commit, includes PR #216 merge commit 03cf5fd219cb)Tiers Executed
Tier 3 (Production). Playwright validation previously passed during development (Tier 1 equivalent).
Checks
| # | Criterion | How Verified | Result | Evidence |
|---|---|---|---|---|
| 1 | Local teams show 2 cards (16U Local Kings, 17U Local Kings) | Playwright snapshot of /schedule Kings tab | PASS | Snapshot shows exactly 2 cards under "Local Teams" heading: "16U Local Kings" and "17U Local Kings" |
| 2 | Each card lists all practice days with day name, location, time | Playwright snapshot inspection | PASS | 16U Local Kings: Monday + Friday at BWill 7-9 PM. 17U Local Kings: Monday BWill 7-9 PM + Tuesday West High 6-8 PM. |
| 3 | Team name is clean (not practice label) | Playwright snapshot heading text | PASS | Headers read "16U Local Kings" and "17U Local Kings" — no "Mon Practice" suffix |
| 4 | Woodpecker pipeline green | Woodpecker API — pipeline #217 (push to main after PR #216 merge) | PASS | Pipeline #217: status=success, all 4 steps green (clone, validate, build-and-push, update-kustomize-tag) |
| 5 | Pod running with correct image | kubectl get pods + image tag check | PASS | Pod Running, 0 restarts. Image tag 282741ec7a74 matches latest main commit. |
| 6 | Route-level smoke tests | curl HTTP status code for /, /schedule, /staff, /tryouts, /sponsors, /about | PASS | All 6 routes return HTTP 200 |
Regression Check
- Queens tab: PASS — Clicked Queens tab, schedule renders correctly with tournaments and practice times. No local teams section (expected — Queens have no local teams).
- Travel teams (Kings): PASS — Travel team cards still display correctly grouped by day (Tuesday, Thursday, Sunday).
- Other routes: PASS — /, /staff, /tryouts, /sponsors, /about all return 200.
- Console errors: 0 errors (1 warning — not related to this change).
Discovered Issues
None. The basketball-api#342 fix (team_name null) was already resolved before this validation.