1.5 KiB
1.5 KiB
UI smoke (MVP)
MVP path
- Current MVP path:
USE_SPA_UI=false - Canonical routes:
/lobby/ui/host+/lobby/ui/player - SPA shell verification is follow-up cutover work; keep it out of the primary MVP smoke.
Preconditions
- Host can log in through Django.
- At least one active category with questions exists.
- Recommended local bootstrap:
python manage.py bootstrap_mvp - Fastest local setup:
./scripts/run_local_mvp_smoke.shand then keep the stack running for browser follow-up.
Flow
- Confirm
USE_SPA_UI=false. - Open
/lobby/ui/hostand create a session. - Open
/lobby/ui/playerin 3 tabs or devices. - Join all players with the session code and nicknames.
- Host selects a category, starts the round, and shows the question.
- Players submit lies.
- Host mixes answers.
- Players submit guesses.
- Host calculates scores and opens the scoreboard.
- Host starts the next round or finishes the game.
Pass criteria
- One full round reaches scoreboard without raw API calls.
- Error banners are absent in the host/player core flow.
- Session detail reflects the same phase on both screens.
- Finish-game path shows the final leaderboard.
Cutover note
If SPA shell validation is needed, use docs/spa-cutover-flag.md and docs/STAGING_GAMEPLAY_SMOKE_ARTIFACT.md. Those checks are not the primary MVP smoke gate.
For the presenter/player visual lane specifically, capture the manual evidence in docs/SPA_VISUAL_REALTIME_SMOKE_ARTIFACT.md.
For local SPA-only checks with the compose spa profile, start at http://localhost:4200/.