import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./card"; describe("Card", () => { it("renders root and semantic slots", () => { render( Quarterly release Ready for internal review. Checklist complete. Updated 2h ago ); expect(screen.getByText("Quarterly release").closest('[data-slot="root"]')).toHaveAttribute( "data-tone", "accent" ); expect(screen.getByText("Quarterly release")).toHaveAttribute("data-slot", "label"); expect(screen.getByText("Ready for internal review.")).toHaveAttribute( "data-slot", "description" ); expect(screen.getByText("Checklist complete.")).toHaveAttribute("data-slot", "content"); expect(screen.getByText("Updated 2h ago")).toHaveAttribute("data-slot", "footer"); }); it("supports interactive state hooks", () => { render( Hover capable ); expect(screen.getByTestId("card")).toHaveAttribute("data-interactive", ""); }); });