added unit test framework

This commit is contained in:
Rajpreet0 2026-04-27 20:28:43 +02:00
parent d3791060d2
commit 3c9fc19a3c
22 changed files with 2206 additions and 15 deletions

37
tests/utils/utils.test.ts Normal file
View file

@ -0,0 +1,37 @@
import { describe, it, expect } from "vitest";
import { cn } from "@/src/lib/utils";
describe("cn", () => {
it("gibt eine einzelne Klasse zurück", () => {
expect(cn("px-4")).toBe("px-4");
});
it("kombiniert mehrere Klassen", () => {
expect(cn("px-4", "py-2", "text-sm")).toBe("px-4 py-2 text-sm");
});
it("überschreibt konfliktive Tailwind-Klassen (twMerge)", () => {
expect(cn("px-2", "px-4")).toBe("px-4");
expect(cn("text-sm", "text-lg")).toBe("text-lg");
});
it("ignoriert falsy-Werte (clsx)", () => {
expect(cn("px-4", false && "text-red", undefined, null as never, "py-2")).toBe("px-4 py-2");
});
it("verarbeitet bedingte Objekte", () => {
expect(cn({ "px-4": true, "py-2": false, "text-sm": true })).toBe("px-4 text-sm");
});
it("verarbeitet Arrays", () => {
expect(cn(["px-4", "py-2"])).toBe("px-4 py-2");
});
it("gibt leeren String bei keinen Argumenten zurück", () => {
expect(cn()).toBe("");
});
it("gibt leeren String bei nur falsy-Werten zurück", () => {
expect(cn(false, undefined, null as never)).toBe("");
});
});