import { render, screen } from "@testing-library/react"; import { userEvent } from "@testing-library/user-event"; import { DrawerScrim } from "./DrawerScrim"; import { DrawerRoot } from "./DrawerRoot"; describe("DrawerScrim", () => { const customRender = (ui, contextProps) => { return render({ui}); }; test("renders visibly into the document", () => { customRender(, { defaultOpen: true }); expect(screen.getByTestId("test")).toBeVisible(); }); test("uses the open property to be visible", () => { customRender(, { open: true, }); expect(screen.getByTestId("test")).toBeVisible(); }); test("uses openChange handler from context", async () => { const user = userEvent.setup(); const handleChange = jest.fn(); customRender(, { onOpenChange: handleChange, defaultOpen: true, }); await user.click(screen.getByTestId("test")); expect(handleChange).toHaveBeenCalledWith(false); }); });