UNPKG

@crossed/primitive

Version:

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

58 lines (57 loc) 2.99 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_react = require("react"); var import_ButtonGroup = require("../ButtonGroup"); var import_contextGroup = require("../contextGroup"); var import_RovingFocus = require("../../utils/RovingFocus"); var import_contextCollection = require("../contextCollection"); const Comp = (0, import_react.forwardRef)((p, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { ...p, ref })); const NewComp = (0, import_ButtonGroup.createButtonGroup)(Comp); jest.mock("../contextGroup"); jest.mock("../contextCollection"); jest.mock("../../utils/RovingFocus"); const ProviderMocked = import_contextGroup.ProviderGroup; const RovingFocusGroupMocked = import_RovingFocus.RovingFocusGroup.render; const CollectionProviderMocked = import_contextCollection.ButtonGroupCollection.Provider; const CollectionSlotMocked = import_contextCollection.ButtonGroupCollection.Slot.render; describe("createButtonGroup", () => { beforeEach(() => { ProviderMocked.mockImplementation(({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children })); RovingFocusGroupMocked.mockImplementation(({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children })); CollectionProviderMocked.mockImplementation(({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children })); CollectionSlotMocked.mockImplementation(({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children })); }); afterEach(() => { ProviderMocked.mockReset(); RovingFocusGroupMocked.mockReset(); CollectionProviderMocked.mockReset(); CollectionSlotMocked.mockReset(); }); test("init", async () => { const child = "Pass child"; (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(NewComp, { children: child })); expect(ProviderMocked).toHaveBeenCalled(); expect(ProviderMocked.mock.lastCall[0]).toHaveProperty("children"); expect(ProviderMocked.mock.lastCall[0]).toHaveProperty("grouped", true); expect(ProviderMocked.mock.lastCall[0]).toHaveProperty( "orientation", "horizontal" ); expect(RovingFocusGroupMocked).toHaveBeenCalled(); expect(RovingFocusGroupMocked.mock.lastCall[0]).toHaveProperty("children"); expect(RovingFocusGroupMocked.mock.lastCall[0]).toHaveProperty( "orientation", "horizontal" ); expect(CollectionProviderMocked).toHaveBeenCalled(); expect(CollectionProviderMocked.mock.lastCall[0]).toHaveProperty( "children" ); expect(CollectionSlotMocked).toHaveBeenCalled(); expect(CollectionSlotMocked.mock.lastCall[0]).toHaveProperty("children"); await import_test.screen.getByText(child); }); }); //# sourceMappingURL=ButtonGroup.spec.js.map