UNPKG

@crossed/primitive

Version:

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

73 lines (72 loc) 5.02 kB
"use strict"; var import_jsx_runtime = require("react/jsx-runtime"); var import_jest_dom = require("@testing-library/jest-dom"); var import__ = require("../index"); var import_test = require("@crossed/test"); var import_react_native = require("react-native"); describe("Accordion", () => { test("createAccordion", async () => { const components = (0, import__.createAccordion)(); expect(Object.keys(components)).toEqual([ "Accordion", "AccordionItem", "AccordionTrigger", "AccordionPanel", "rootContext", "itemContext" ]); }); test("Show component, single", async () => { (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.Accordion, { defaultValues: ["1"], children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.AccordionItem, { value: "1", testID: "item-1", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionTrigger, { testID: "trigger-1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "title 1" }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionPanel, { testID: "panel-1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "content 1" }) }) ] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.AccordionItem, { value: "2", testID: "item-2", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionTrigger, { testID: "trigger-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "title 1" }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionPanel, { testID: "panel-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "content 2" }) }) ] }) ] }) ); expect(import_test.screen.getByTestId("item-1")).toBeVisible(); expect(import_test.screen.getByTestId("item-2")).toBeVisible(); expect(import_test.screen.getByTestId("trigger-1")).toBeVisible(); expect(import_test.screen.getByTestId("trigger-2")).toBeVisible(); expect(import_test.screen.getByTestId("panel-1")).toBeVisible(); expect(() => import_test.screen.getByTestId("panel-2")).toThrow(); await import_test.userEvent.click(import_test.screen.getByTestId("trigger-2")); expect(import_test.screen.getByTestId("panel-2")).toBeVisible(); expect(() => import_test.screen.getByTestId("panel-1")).toThrow(); await import_test.userEvent.click(import_test.screen.getByTestId("trigger-2")); expect(import_test.screen.getByTestId("panel-2")).toBeVisible(); expect(() => import_test.screen.getByTestId("panel-1")).toThrow(); }); test("Show component, multiple", async () => { (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.Accordion, { defaultValues: ["1"], allowMultiple: true, children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.AccordionItem, { value: "1", testID: "item-1", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionTrigger, { testID: "trigger-1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "title 1" }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionPanel, { testID: "panel-1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "content 1" }) }) ] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.AccordionItem, { value: "2", testID: "item-2", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionTrigger, { testID: "trigger-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "title 1" }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AccordionPanel, { testID: "panel-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { children: "content 2" }) }) ] }) ] }) ); expect(import_test.screen.getByTestId("item-1")).toBeVisible(); expect(import_test.screen.getByTestId("item-2")).toBeVisible(); expect(import_test.screen.getByTestId("trigger-1")).toBeVisible(); expect(import_test.screen.getByTestId("trigger-2")).toBeVisible(); expect(import_test.screen.getByTestId("panel-1")).toBeVisible(); expect(() => import_test.screen.getByTestId("panel-2")).toThrow(); await import_test.userEvent.click(import_test.screen.getByTestId("trigger-2")); expect(import_test.screen.getByTestId("panel-1")).toBeVisible(); expect(import_test.screen.getByTestId("panel-2")).toBeVisible(); await import_test.userEvent.click(import_test.screen.getByTestId("trigger-1")); expect(import_test.screen.getByTestId("panel-2")).toBeVisible(); expect(() => import_test.screen.getByTestId("panel-1")).toThrow(); }); }); //# sourceMappingURL=Accordion.spec.js.map