49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
# UI smoke (MVP)
|
|
|
|
## Forudsætning
|
|
- Host er logget ind i Django.
|
|
- Mindst én aktiv kategori med spørgsmål findes.
|
|
|
|
## Cutover-forudsætning (`USE_SPA_UI`)
|
|
- `USE_SPA_UI=false` (default): brug legacy routes `/lobby/ui/host` + `/lobby/ui/player`.
|
|
- `USE_SPA_UI=true`: host må gerne testes på SPA deep-link route `/lobby/ui/host/<spa-path>` (fx `/lobby/ui/host/guess`), player på `/lobby/ui/player`.
|
|
|
|
## Flow
|
|
1. Verificér cutover-route matcher valgt flag (legacy vs SPA shell).
|
|
2. Åbn host-siden og tryk Opret session.
|
|
3. Åbn player-siden i 3 faner/enheder.
|
|
4. Join alle spillere med sessionkode og nickname.
|
|
5. Host: vælg kategori, Start runde, Vis spørgsmål.
|
|
6. Spillere: brug round_question_id og submit løgn.
|
|
7. Host: Mix svar.
|
|
8. Spillere: submit gæt.
|
|
9. Host: Beregn score og Vis scoreboard.
|
|
10. Host: Næste runde eller Afslut spil.
|
|
|
|
## Smoke-gate (staging cutover)
|
|
`USE_SPA_UI` må kun aktiveres i staging når følgende er opfyldt:
|
|
- Cutover route sanity er PASS for både OFF (legacy) og ON (SPA shell).
|
|
- Én fuld gameplay-runde til scoreboard er PASS.
|
|
- Next-round/final leaderboard sanity er PASS.
|
|
- Ingen nye blocker-regressioner i host/player kerneflow.
|
|
|
|
## Samme release-vindue: SPA OFF + ON verifikation
|
|
Kør begge checks i samme release-vindue (samme deploy/artifact version):
|
|
|
|
1. **OFF-pass (legacy)**
|
|
- `USE_SPA_UI=false`
|
|
- Verificér legacy routes + fuld runde.
|
|
2. **ON-pass (SPA)**
|
|
- `USE_SPA_UI=true`
|
|
- Behold samme release artifact og kun toggl flag/version-token ved behov.
|
|
- Verificér SPA shell routes + fuld runde.
|
|
3. Dokumentér begge pass i samme smoke-artifact med UTC timestamps og `WPP_SPA_ASSET_VERSION`.
|
|
|
|
## Rollback check points
|
|
Skift straks tilbage til `USE_SPA_UI=false` hvis en gate fejler:
|
|
1. Verificér legacy routes (`/lobby/ui/host` + `/lobby/ui/player`) fungerer igen.
|
|
2. Log rollback trigger + kort repro i smoke artifact.
|
|
3. Opret/link blocker issue før nyt cutover-forsøg.
|
|
|
|
Resultat: En fuld runde kan køres uden rå API-kald fra terminal.
|