import "@testing-library/jest-dom"; import { render, screen } from "@testing-library/react"; import Divider from "./Divider"; describe("Divider", () => { test("renders an hr element for the default horizontal divider", () => { const { container } = render(); expect(container.querySelector("hr")).toBeInTheDocument(); }); test("horizontal hr has the implicit separator role", () => { render(); expect(screen.getByRole("separator")).toBeInTheDocument(); }); test("defaults to horizontal orientation class", () => { const { container } = render(); expect(container.firstChild).toHaveClass("divider-horizontal"); }); test("defaults to solid variant class", () => { const { container } = render(); expect(container.firstChild).toHaveClass("divider-solid"); }); test("renders a div for vertical orientation", () => { const { container } = render(); expect(container.querySelector("div")).toBeInTheDocument(); }); test("applies the vertical orientation class", () => { const { container } = render(); expect(container.firstChild).toHaveClass("divider-vertical"); }); test("renders a div when a label is provided", () => { const { container } = render(); expect(container.querySelector("div")).toBeInTheDocument(); }); test("applies the dashed variant class", () => { const { container } = render(); expect(container.firstChild).toHaveClass("divider-dashed"); }); test("applies the dotted variant class", () => { const { container } = render(); expect(container.firstChild).toHaveClass("divider-dotted"); }); test("renders the label text when provided", () => { render(); expect(screen.getByText("or")).toBeInTheDocument(); }); test("does not render a label element when label is omitted", () => { const { container } = render(); expect(container.querySelector(".divider-label")).not.toBeInTheDocument(); }); test("applies an additional className to the wrapper", () => { const { container } = render(); expect(container.firstChild).toHaveClass("my-divider"); }); test("always has the base divider class", () => { const { container } = render(); expect(container.firstChild).toHaveClass("divider"); }); });