import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { HoverCard, HoverCardContent, HoverCardTrigger } from "./hover-card"; describe("HoverCard", () => { it("trigger has data-slot='hover-card-trigger'", () => { render( Hover preview , ); expect(screen.getByTestId("trigger")).toHaveAttribute("data-slot", "hover-card-trigger"); }); it("does not render content by default", () => { render( Hover Hidden preview , ); expect(screen.queryByText("Hidden preview")).not.toBeInTheDocument(); }); it("renders content when controlled open", () => { render( Hover Visible preview , ); expect(screen.getByText("Visible preview")).toBeInTheDocument(); }); it("HoverCardContent uses data-slot='hover-card-content' when shown", () => { render( x visible , ); expect(screen.getByText("visible")).toHaveAttribute("data-slot", "hover-card-content"); }); it("merges custom className on HoverCardContent", () => { render( x visible , ); expect(screen.getByText("visible")).toHaveClass("my-class"); }); });