docs: allinea README, CLAUDE.md e guida ai test allo stato attuale
- README: referto tra le funzionalità del controller; comando test:ui e aree coperte dalle suite - CLAUDE.md: referto.js (buildRefertoHtml/generaReferto), wsMixin/persist/ server-utils, createApp/startServer; nota su formInizio e stato derivato dalla striscia - tests/README: conteggi aggiornati (212 Vitest / 75 e2e) e nuove suite
This commit is contained in:
+19
-4
@@ -90,10 +90,18 @@ Esempi reali nel progetto:
|
||||
- cambio palla
|
||||
- vittoria set con regola dei 2 punti di scarto
|
||||
- reset stato
|
||||
- `formInizio` (snapshot formazione di partenza del set)
|
||||
- generazione del referto (`buildRefertoHtml`)
|
||||
- persistenza stato su disco (`persist.js`, con `fs` mockato)
|
||||
- utility di rete (`server-utils.js`)
|
||||
|
||||
Quando falliscono:
|
||||
- quasi sempre c'e un problema nella logica core
|
||||
|
||||
> Nota: punteggio, set e servizio NON sono campi dello stato: si ricavano dalla
|
||||
> `striscia` con `punteggio` / `setVinti` / `servizio`. Nei test si impostano gli
|
||||
> scenari costruendo la `striscia`, non scrivendo `sp.punt`/`sp.set`.
|
||||
|
||||
### 5.2 Integration (`tests/integration`)
|
||||
|
||||
Cosa sono:
|
||||
@@ -107,6 +115,7 @@ Esempi reali nel progetto:
|
||||
- broadcast stato ai client
|
||||
- validazione input malformati
|
||||
- autorizzazioni (solo controller puo inviare certe azioni)
|
||||
- routing del server Express (`createApp`: rotte display/controller/asset)
|
||||
|
||||
Quando falliscono:
|
||||
- spesso c'e problema nel protocollo messaggi o nei controlli di ruolo
|
||||
@@ -124,6 +133,8 @@ Esempi reali nel progetto:
|
||||
- stato connessione
|
||||
- click bottoni controller
|
||||
- dialog reset/config/cambi
|
||||
- bottone REFERTO nel dialog PARTITA FINITA
|
||||
- client WebSocket (`wsMixin`: connessione, riconnessione, `sendWs`)
|
||||
|
||||
Quando falliscono:
|
||||
- spesso hai rotto template, computed, metodi o binding
|
||||
@@ -152,15 +163,19 @@ A cosa servono:
|
||||
- verificano che Controller e Display funzionino davvero insieme
|
||||
|
||||
File principali:
|
||||
- `helpers.cjs`: helper condivisi (`openController`/`openDisplay`/`resetGame`/`addPoints`)
|
||||
- `basic-flow.spec.cjs`: flusso base Controller <-> Display
|
||||
- `game-operations.spec.cjs`: reset, config, toggle, cambi
|
||||
- `game-simulation.spec.cjs`: simulazione partita
|
||||
- `full-match.spec.cjs`: scenari partita completi
|
||||
- `referto.spec.cjs`: generazione referto a PARTITA FINITA
|
||||
- `accessibility.spec.cjs`: controlli accessibilita con axe
|
||||
- `visual-regression.spec.cjs`: confronto screenshot con baseline
|
||||
|
||||
Nota importante:
|
||||
Note importanti:
|
||||
- gli E2E sono configurati in seriale (`workers: 1`) per evitare interferenze sullo stato partita condiviso.
|
||||
- il controller viene aperto in viewport portrait (layout "mobile") tramite `openController`: in landscape userebbe la dashboard estesa con selettori diversi.
|
||||
- lo stato è UNICO e persistente sul server: ogni test inizia con `resetGame`, che azzera e reimposta i nomi di default per garantire determinismo.
|
||||
|
||||
## 6) Come leggere i risultati
|
||||
|
||||
@@ -169,8 +184,8 @@ Nota importante:
|
||||
Caso OK (verde):
|
||||
|
||||
```text
|
||||
Test Files 6 passed (6)
|
||||
Tests 159 passed (159)
|
||||
Test Files 10 passed (10)
|
||||
Tests 212 passed (212)
|
||||
```
|
||||
|
||||
Significa:
|
||||
@@ -187,7 +202,7 @@ Caso KO (rosso):
|
||||
Caso OK:
|
||||
|
||||
```text
|
||||
72 passed
|
||||
75 passed
|
||||
```
|
||||
|
||||
Caso KO:
|
||||
|
||||
Reference in New Issue
Block a user