docs: aggiorna README, tests/README e CLAUDE.md con la nuova copertura test
Riflette i test aggiunti nei commit precedenti: rilevamento piattaforma di server-utils, avvio effettivo di startServer, rami di errore del WebSocket handler, cleanup/riconnessione di wsMixin, side-effect di generaReferto e layout esteso del controller. Aggiorna anche i conteggi di esempio (15 file/362 test Vitest, 81 E2E) e documenta come verificare la copertura (>99% statement).
This commit is contained in:
+28
-7
@@ -94,7 +94,9 @@ Esempi reali nel progetto:
|
||||
- time out (`startTimeout`/`stopTimeout`: squadra, video, timestamp)
|
||||
- generazione del referto (`buildRefertoHtml`)
|
||||
- persistenza stato su disco (`persist.js`, con `fs` mockato)
|
||||
- utility di rete (`server-utils.js`)
|
||||
- utility di rete (`server-utils.js`), incluso il rilevamento piattaforma
|
||||
(WSL/PowerShell vs. `os.networkInterfaces()`, con `fs`/`child_process`/`os`
|
||||
mockati per non dipendere dalla macchina che esegue i test)
|
||||
- elenco video spot (`spot-utils.js`, su cartella temporanea reale)
|
||||
|
||||
Quando falliscono:
|
||||
@@ -119,6 +121,8 @@ Esempi reali nel progetto:
|
||||
- autorizzazioni (solo controller puo inviare certe azioni)
|
||||
- timer server-side del time out (auto-`stopTimeout` dopo 30s, `startedAt` impostato dal server)
|
||||
- routing del server Express (`createApp`: rotte display/controller/asset, `/spot/list` e file statici `/spot/`)
|
||||
- rami di errore del WebSocket handler (`ws.send`/`ws.terminate` che lanciano, `applyAction` che fallisce a metà azione: lo stato precedente va ripristinato senza propagare l'eccezione)
|
||||
- avvio effettivo di `startServer` (`server.js`): ascolto HTTP, upgrade su `/ws`, rifiuto su altri percorsi, persistenza dopo un'azione — con `persist.js` mockato per non toccare mai `.segnapunti/state.json` reale
|
||||
|
||||
Quando falliscono:
|
||||
- spesso c'e problema nel protocollo messaggi o nei controlli di ruolo
|
||||
@@ -138,8 +142,9 @@ Esempi reali nel progetto:
|
||||
- dialog reset/config/cambi
|
||||
- modal time out del controller (scelta squadra/video, banner, countdown)
|
||||
- overlay time out del display (video, placeholder, countdown, dissolvenza)
|
||||
- bottone REFERTO nel dialog PARTITA FINITA
|
||||
- client WebSocket (`wsMixin`: connessione, riconnessione, `sendWs`, errori)
|
||||
- bottone REFERTO nel dialog PARTITA FINITA e generazione del referto stampabile (`generaReferto`: `window.open`, scrittura HTML, stampa)
|
||||
- client WebSocket (`wsMixin`: connessione, riconnessione con backoff, cleanup allo smontaggio, `sendWs`, errori)
|
||||
- layout esteso/landscape del controller (pannelli squadra, popup automatico SET VINTO con soglia decisiva)
|
||||
|
||||
Quando falliscono:
|
||||
- spesso hai rotto template, computed, metodi o binding
|
||||
@@ -190,8 +195,8 @@ Note importanti:
|
||||
Caso OK (verde):
|
||||
|
||||
```text
|
||||
Test Files 10 passed (10)
|
||||
Tests 212 passed (212)
|
||||
Test Files 15 passed (15)
|
||||
Tests 362 passed (362)
|
||||
```
|
||||
|
||||
Significa:
|
||||
@@ -208,7 +213,7 @@ Caso KO (rosso):
|
||||
Caso OK:
|
||||
|
||||
```text
|
||||
75 passed
|
||||
81 passed
|
||||
```
|
||||
|
||||
Caso KO:
|
||||
@@ -279,7 +284,23 @@ npm run test:e2e -- --update-snapshots
|
||||
npm run test:e2e
|
||||
```
|
||||
|
||||
## 10) Come aggiungere un nuovo test (consigli pratici)
|
||||
## 10) Copertura del codice
|
||||
|
||||
Non c'è uno script `npm` dedicato, ma si può controllare la copertura in
|
||||
qualsiasi momento con:
|
||||
|
||||
```bash
|
||||
npx vitest run tests/unit tests/integration tests/component --coverage
|
||||
```
|
||||
|
||||
Il report a schermo mostra percentuale e righe scoperte per file. La suite
|
||||
attuale copre oltre il 99% di statement/linee; le poche righe rimaste
|
||||
scoperte sono documentate nei commit dei rispettivi test come codice morto,
|
||||
difensivo, oppure legato a HMR (`import.meta.hot`) o all'avvio diretto
|
||||
(`node server.js`) — casi non testabili in modo significativo senza side
|
||||
effect reali sull'ambiente.
|
||||
|
||||
## 11) Come aggiungere un nuovo test (consigli pratici)
|
||||
|
||||
- metti i test nel posto giusto:
|
||||
- `tests/unit` per logica pura
|
||||
|
||||
Reference in New Issue
Block a user