import { describe, it, expect, afterEach } from "vitest"; import { createRoot, type Root } from "react-dom/client"; import { act } from "react"; import { QuantumLockBadge } from "@/app/(dashboard)/dashboard/compression/studio/QuantumLockBadge"; let root: Root | null = null; let container: HTMLDivElement | null = null; afterEach(() => { act(() => root?.unmount()); container?.remove(); root = null; container = null; }); function render(ui: React.ReactElement) { container = document.createElement("div"); document.body.appendChild(container); root = createRoot(container); act(() => root!.render(ui)); return container; } describe("QuantumLockBadge", () => { it("renders count + categories when fragments > 0", () => { const el = render(); const badge = el.querySelector('[data-testid="quantum-badge"]'); expect(badge?.textContent).toContain("3 volatile fragment"); expect(badge?.textContent).toContain("uuid ×2"); expect(badge?.textContent).toContain("jwt ×1"); }); it("renders nothing when stats are absent or zero", () => { expect(render().querySelector('[data-testid="quantum-badge"]')).toBeNull(); expect(render().querySelector('[data-testid="quantum-badge"]')).toBeNull(); }); });