@crossed/primitive
Version:
A universal & performant styling library for React Native, Next.js & React
58 lines (57 loc) • 2.99 kB
JavaScript
;
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