Apre il voto MVP due ore dopo l'inizio e lo riserva ai presenti.
La votazione non dipendeva dal tempo ma dal risultato: compariva solo con un referto CSI o uno scout salvato, e chiunque avesse un profilo poteva votare. Ora `votoMvpAperto()` la apre due ore dopo `data`+`ora` dell'evento, il pannello sta in una sezione sua e votano — e sono votabili — solo i presenti (o in ritardo) di quell'evento. I voti passano dall'id scout/CSI a quello dell'evento CrAPP: home e classifica leggono il vincitore tramite la mappa data → evento che avevano già. Le regole sono applicative, non RLS: chi scrive su PostgREST le aggira, come già annotato tra i limiti noti del modulo. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
mioVoto,
|
||||
mvpVintiPerGiocatore,
|
||||
vincitoriMvp,
|
||||
votoMvpAperto,
|
||||
type VotoMvp,
|
||||
} from "@/lib/mvp-voti";
|
||||
|
||||
@@ -74,4 +75,14 @@ assert.deepEqual(
|
||||
);
|
||||
assert.deepEqual(mvpVintiPerGiocatore([]), {});
|
||||
|
||||
// --- votoMvpAperto: due ore dopo il fischio d'inizio -------------------------
|
||||
const alle = (o: number, m = 0) => new Date(2026, 8, 5, o, m);
|
||||
assert.equal(votoMvpAperto("2026-09-05", "20:30", alle(22, 29)), false, "un minuto prima");
|
||||
assert.equal(votoMvpAperto("2026-09-05", "20:30", alle(22, 30)), true, "due ore in punto");
|
||||
assert.equal(votoMvpAperto("2026-09-05", "20:30", alle(23)), true);
|
||||
assert.equal(votoMvpAperto("2026-09-06", "10:00", alle(23)), false, "partita di domani");
|
||||
assert.equal(votoMvpAperto("2026-09-04", "20:30", alle(0, 1)), true, "partita passata: aperto");
|
||||
assert.equal(votoMvpAperto("2026-09-05", "", alle(1, 59)), false, "senza ora vale mezzanotte");
|
||||
assert.equal(votoMvpAperto("2026-09-05", "", alle(2)), true);
|
||||
|
||||
console.log("mvp-voti: ok");
|
||||
|
||||
Reference in New Issue
Block a user