Test sulla validazione dei dati squadra
Copre i controlli che evitano un errore Postgres di ritorno: nome, cognome e ruolo non vuoti, numero di maglia intero e positivo (il CHECK della tabella), e il rilevamento di un numero già assegnato a un altro giocatore attivo. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,9 +11,11 @@ import {
|
||||
} from "@/lib/profili-core";
|
||||
import {
|
||||
dividiNome,
|
||||
numeroGiaUsato,
|
||||
rosaFallback,
|
||||
slotDi,
|
||||
slotLiberi,
|
||||
validaDatiSquadra,
|
||||
type GiocatoreSquadra,
|
||||
} from "@/lib/giocatori-squadra";
|
||||
|
||||
@@ -155,6 +157,29 @@ assert.deepEqual(
|
||||
"i giocatori non attivi restano fuori",
|
||||
);
|
||||
|
||||
// --- dati squadra modificabili dall'admin (DD-017) ---------------------------
|
||||
const datiOk = { nome: "Ivan", cognome: "Cacciari", numero: 23, ruolo: "Banda" };
|
||||
assert.equal(validaDatiSquadra(datiOk), null);
|
||||
assert.match(validaDatiSquadra({ ...datiOk, nome: " " }) ?? "", /nome/i);
|
||||
assert.match(validaDatiSquadra({ ...datiOk, cognome: "" }) ?? "", /cognome/i);
|
||||
assert.match(validaDatiSquadra({ ...datiOk, ruolo: " " }) ?? "", /ruolo/i);
|
||||
assert.match(
|
||||
validaDatiSquadra({ ...datiOk, numero: 0 }) ?? "",
|
||||
/numero/i,
|
||||
"il database rifiuta numero <= 0: meglio dirlo prima",
|
||||
);
|
||||
assert.match(validaDatiSquadra({ ...datiOk, numero: -3 }) ?? "", /numero/i);
|
||||
assert.match(validaDatiSquadra({ ...datiOk, numero: 1.5 }) ?? "", /numero/i);
|
||||
|
||||
assert.equal(numeroGiaUsato(squadra, "g1", 7), true, "il 7 è di g2");
|
||||
assert.equal(numeroGiaUsato(squadra, "g2", 7), false, "il proprio numero non è un conflitto");
|
||||
assert.equal(numeroGiaUsato(squadra, "g1", 99), false);
|
||||
assert.equal(
|
||||
numeroGiaUsato([{ ...squadra[1]!, attivo: false }], "g1", 7),
|
||||
false,
|
||||
"chi non è più in rosa non blocca il numero",
|
||||
);
|
||||
|
||||
const fallback = rosaFallback();
|
||||
assert.ok(fallback.length > 0, "il fallback da crapp-data non è mai vuoto");
|
||||
assert.ok(
|
||||
|
||||
Reference in New Issue
Block a user