UNPKG

@crossed/ui

Version:

A universal & performant styling library for React Native, Next.js & React

39 lines (38 loc) 1.39 kB
import { jsx } from "react/jsx-runtime"; import { render, screen, userEvent } from "@crossed/test"; import { FloatingTrigger } from "../Trigger"; import { FloatingProvider, FloatingConfigProvider } from "../context"; import { act } from "react"; describe("Floating.Trigger", () => { const mount = (open) => { expect(FloatingTrigger.displayName).toEqual("Floating.Trigger"); const onClose = jest.fn(); const onOpen = jest.fn(); render( /* @__PURE__ */ jsx(FloatingConfigProvider, { triggerStrategy: "onPress", enabled: true, portal: true, children: /* @__PURE__ */ jsx( FloatingProvider, { onClose, onOpen, open: open ?? false, removeScroll: false, children: /* @__PURE__ */ jsx(FloatingTrigger, { testID: "trigger" }) } ) }) ); return { onClose, onOpen }; }; test("click for open", async () => { const { onOpen, onClose } = mount(); await act(() => userEvent.click(screen.getByTestId("trigger"))); expect(onOpen).toHaveBeenCalled(); expect(onClose).not.toHaveBeenCalled(); }); test("open", async () => { const { onOpen, onClose } = mount(true); await act(() => userEvent.click(screen.getByTestId("trigger"))); expect(onClose).toHaveBeenCalled(); expect(onOpen).not.toHaveBeenCalled(); }); }); //# sourceMappingURL=Trigger.spec.js.map