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);
});
});