import { render, screen } from "@testing-library/react"; import { userEvent } from "@testing-library/user-event"; import { TabsRoot } from "./TabsRoot"; import { TabsTrigger } from "./TabsTrigger"; import { TabsList } from "./TabsList"; describe("TabsRoot Container", () => { test("renders visibly into the document", () => { render(Test); expect(screen.getByText("Test")).toBeVisible(); }); it("renders the tabs with the correct default value", () => { render( ); expect(screen.getByRole("tab", { selected: true })).toBeInTheDocument(); }); it("renders the tabs with the correct value when the value prop is set", () => { render( ); expect(screen.getByRole("tab", { selected: true })).toBeInTheDocument(); }); it("calls the onValueChange prop when the value changes", async () => { const user = userEvent.setup(); const onValueChange = jest.fn(); render( A B ); await user.click(screen.getByRole("tab", { selected: false })); expect(onValueChange).toHaveBeenCalledWith("B"); }); });