Completa la copertura test del badge Presenza fissa e ne documenta il comportamento
Nessun bug trovato: contaPresenzeGiocatore() filtra correttamente per convocati, tipo evento e stato (presente/ritardo contano, assente/forse no), gli eventi futuri restano esclusi. Confermato che, a differenza di MVP/pagelle/badge social, questo badge non ha bisogno dell'estensione RLS di M13: il filtro sui convocati è già nella funzione pura, non solo in UI. Aggiunti test unit sulle soglie (badges.test.ts) e un nuovo end-to-end (presenze-badge.test.ts) che scrive eventi e risposte reali sul database locale e verifica l'intera pipeline fetchPresenze()/daRiga() -> contaPresenzeGiocatore() -> statoBadge() attraverso le tre soglie, incluso il caso "non convocato, la riga esiste ma non conta". docs/modules/badge.md aggiornato con la pipeline, la copertura test e la correzione della dicitura "in stagione" (il conteggio è sull'intero storico, coerente con gli altri badge). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -105,6 +105,16 @@ assert.equal(
|
||||
"5 turni su 6 per l'argento: 83%",
|
||||
);
|
||||
|
||||
// --- presenze: soglie 5 / 15 / 30 ---------------------------------------------
|
||||
const presenzeDef = badgeDefs.find((b) => b.id === "presenze")!;
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 4), null, "sotto la prima soglia nessun grado");
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 5), "bronzo", "la soglia è inclusiva");
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 14), "bronzo");
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 15), "argento");
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 29), "argento");
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 30), "oro");
|
||||
assert.equal(gradoRaggiunto(presenzeDef, 999), "oro", "oltre l'oro resta oro");
|
||||
|
||||
// --- badgeGiocatore ----------------------------------------------------------
|
||||
assert.equal(badgeGiocatore(g()).length, badgeDefs.length, "i badge normali sono sempre tutti");
|
||||
assert.ok(
|
||||
|
||||
Reference in New Issue
Block a user