Aggiunge unit test per i moduli lib rimasti scoperti

Copre la logica pura isolabile di avatar-store, error-capture, error-page,
lovable-error-reporting, profili (validazione upload), push-client (guardie
senza DOM), scout-stato e webpush.server (firma JWT VAPID con chiavi P-256
generate al volo, fetch intercettato). Alza i file di src/lib coperti da 19
a 28 su 37, senza introdurre nuove dipendenze.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-02 11:34:09 +02:00
co-authored by Claude Sonnet 5
parent d3b117e470
commit ff45b2379c
10 changed files with 332 additions and 6 deletions
+19
View File
@@ -0,0 +1,19 @@
/** Check dell'helper di classi CSS: `bun test/unit/utils.test.ts`. */
import assert from "node:assert/strict";
import { cn } from "@/lib/utils";
// --- cn: unisce classi statiche e condizionali --------------------------------
assert.equal(cn("a", "b"), "a b");
const escluso = false as boolean;
assert.equal(cn("a", escluso && "b", null, undefined, "c"), "a c", "scarta i valori falsy");
assert.equal(cn("p-2", ["m-1", "text-sm"]), "p-2 m-1 text-sm", "accetta anche gli array");
// --- cn: tailwind-merge risolve i conflitti tenendo l'ultima classe -----------
assert.equal(cn("p-2", "p-4"), "p-4", "l'ultima utility vince su quella in conflitto");
assert.equal(
cn("text-red-500", "text-lg"),
"text-red-500 text-lg",
"classi non in conflitto convivono",
);
console.log("utils: ok");