Validate: coach login and read-only roster view E2E #142

Open
opened 2026-03-28 18:16:45 +00:00 by forgejo_admin · 1 comment

Type

Feature

Lineage

Discovered during girls roster session 2026-03-28. Coach auth guard deployed (PR #132). Need E2E validation before sending credentials to coaches.

Repo

forgejo_admin/westside-app

User Story

As a coach, I want to view my team roster with player photos so that I know my players on sight (WS-S13).

Context

PR #132 (admin route guard + coach read-only) and PR #133 (division filter) are merged and deployed. Coach Keycloak accounts exist with correct roles. Temp passwords set via admin API. Before emailing credentials to coaches, we must validate the full coach experience: login -> redirect -> see roster -> no admin controls visible.

Coaches to validate:

File Targets

No code changes expected. This is a validation-only ticket.

Acceptance Criteria

  • Coach logs in via /signin -> Keycloak -> redirected to /coach (not /admin)
  • Coach sees their team roster with player names and photos
  • Coach CANNOT see assign/move/delete/create buttons
  • Coach CANNOT access /admin routes (redirected to /coach)
  • Mobile viewport (390px) renders correctly
  • Both Queens coaches validated

Test Expectations

  • Chrome devtools validation with coach credentials
  • Screenshot evidence of read-only view
  • Run command: browser validation only

Constraints

  • DO NOT send any emails to coaches until this validation passes
  • DO NOT modify any code — create fix tickets if issues found
  • Validate on the currently deployed version

Checklist

  • Abbie's view validated
  • Manny's view validated
  • Screenshots captured
  • Fix tickets created if needed
  • project-westside-basketball
  • westside-app#131 — coach read-only PR (merged)
  • westside-app#129 — parent validation ticket
### Type Feature ### Lineage Discovered during girls roster session 2026-03-28. Coach auth guard deployed (PR #132). Need E2E validation before sending credentials to coaches. ### Repo `forgejo_admin/westside-app` ### User Story As a coach, I want to view my team roster with player photos so that I know my players on sight (WS-S13). ### Context PR #132 (admin route guard + coach read-only) and PR #133 (division filter) are merged and deployed. Coach Keycloak accounts exist with correct roles. Temp passwords set via admin API. Before emailing credentials to coaches, we must validate the full coach experience: login -> redirect -> see roster -> no admin controls visible. Coaches to validate: - Abbie Sa (cyprusbasketball32@live.com / Westside2026!) — 16U Elite Queens coach - Manny T (emmanueltabantaeoalii@gmail.com / Westside2026!) — 17U Elite Queens coach ### File Targets No code changes expected. This is a validation-only ticket. ### Acceptance Criteria - [ ] Coach logs in via /signin -> Keycloak -> redirected to /coach (not /admin) - [ ] Coach sees their team roster with player names and photos - [ ] Coach CANNOT see assign/move/delete/create buttons - [ ] Coach CANNOT access /admin routes (redirected to /coach) - [ ] Mobile viewport (390px) renders correctly - [ ] Both Queens coaches validated ### Test Expectations - [ ] Chrome devtools validation with coach credentials - [ ] Screenshot evidence of read-only view - Run command: browser validation only ### Constraints - DO NOT send any emails to coaches until this validation passes - DO NOT modify any code — create fix tickets if issues found - Validate on the currently deployed version ### Checklist - [ ] Abbie's view validated - [ ] Manny's view validated - [ ] Screenshots captured - [ ] Fix tickets created if needed ### Related - `project-westside-basketball` - `westside-app#131` — coach read-only PR (merged) - `westside-app#129` — parent validation ticket
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-580-2026-03-28
Validation-only ticket is well-scoped with solid acceptance criteria, but has three refinement items:

  • [BODY] Change ### Type from "Feature" to "Task" — no code changes, this is QA validation
  • [LABEL] Change board item label from type:feature to type:task
  • [SCOPE] Clarify relationship with #129 — both tickets validate coach login. Is #142 a focused sub-validation (credential send gate), or does it duplicate #129 scope?
## Scope Review: NEEDS_REFINEMENT Review note: `review-580-2026-03-28` Validation-only ticket is well-scoped with solid acceptance criteria, but has three refinement items: - **[BODY]** Change `### Type` from "Feature" to "Task" — no code changes, this is QA validation - **[LABEL]** Change board item label from `type:feature` to `type:task` - **[SCOPE]** Clarify relationship with #129 — both tickets validate coach login. Is #142 a focused sub-validation (credential send gate), or does it duplicate #129 scope?
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#142
No description provided.