@crossed/primitive
Version:
A universal & performant styling library for React Native, Next.js & React
38 lines (37 loc) • 1.36 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import "@testing-library/jest-dom";
import { forwardRef } from "react";
import { createBadge } from "../index";
import { createBadgeMain } from "../Badge";
import { createBadgeText } from "../BadgeText";
import * as allExport from "../index";
const createBadgeMainMocked = createBadgeMain;
const createBadgeTextMocked = createBadgeText;
jest.mock("../Badge");
jest.mock("../BadgeText");
describe("createBadge", () => {
beforeEach(() => {
createBadgeMainMocked.mockImplementation((e) => e);
createBadgeTextMocked.mockImplementation((e) => e);
});
afterEach(() => {
createBadgeMainMocked.mockReset();
createBadgeTextMocked.mockReset();
});
test("check exports", () => {
expect(Object.keys(allExport)).toEqual(["createBadge"]);
});
test("init", async () => {
const Root = forwardRef((p, ref) => /* @__PURE__ */ jsx("p", { ...p, ref }));
const Text = forwardRef((p, ref) => /* @__PURE__ */ jsx("p", { ...p, ref }));
const Badge = createBadge({
Root,
Text
});
expect(createBadgeMainMocked).toHaveBeenCalledWith(Root);
expect(createBadgeTextMocked).toHaveBeenCalledWith(Text);
expect(Badge).toHaveProperty("displayName", "Badge");
expect(Badge.Text).toHaveProperty("displayName", "BadgeText");
});
});
//# sourceMappingURL=createBadge.spec.js.map