UNPKG

@crossed/ui

Version:

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

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