UNPKG

@crossed/primitive

Version:

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

47 lines (46 loc) 2.42 kB
"use strict"; var import_jsx_runtime = require("react/jsx-runtime"); var import_jest_dom = require("@testing-library/jest-dom"); var import_test = require("@crossed/test"); var import__ = require("../"); var import_react_native = require("react-native"); var import_portal = require("@gorhom/portal"); describe("createModal", () => { test("return from createModal", async () => { const modal = (0, import__.createModal)(); expect(Object.keys(modal)).toEqual([ "modalContext", "Modal", "ModalContent", "ModalOverlay", "ModalTitle", "ModalTrigger", "ModalPortal", "ModalBody" ]); }); test("open/close component", async () => { const {} = (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.PortalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.Modal, { children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.ModalTrigger, { testID: "trigger", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "toto" }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.ModalPortal, { children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.ModalOverlay, { testID: "overlay" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.ModalContent, { testID: "content", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.ModalTitle, { children: "toto" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.ModalTrigger, { testID: "close", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "close" }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "toto" }) }) ] }) ] }) ] }) }) ); const open = async () => { await import_test.userEvent.click(import_test.screen.getByTestId("trigger")); }; expect(() => import_test.screen.getByTestId("content")).toThrow(); await open(); expect(import_test.screen.getByTestId("content")).toBeVisible(); await import_test.userEvent.click(import_test.screen.getByTestId("close")); expect(() => import_test.screen.getByTestId("content")).toThrow(); }); }); //# sourceMappingURL=Modal.spec.js.map