36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# 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.sh` and then keep the stack running for browser follow-up.
|
|
|
|
## Flow
|
|
1. Confirm `USE_SPA_UI=false`.
|
|
2. Open `/lobby/ui/host` and create a session.
|
|
3. Open `/lobby/ui/player` in 3 tabs or devices.
|
|
4. Join all players with the session code and nicknames.
|
|
5. Host selects a category, starts the round, and shows the question.
|
|
6. Players submit lies.
|
|
7. Host mixes answers.
|
|
8. Players submit guesses.
|
|
9. Host calculates scores and opens the scoreboard.
|
|
10. 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/`.
|