@crossed/primitive
Version:
A universal & performant styling library for React Native, Next.js & React
42 lines (41 loc) • 1.59 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_LabelText = require("../LabelText");
var import_react = require("react");
var import_context = require("../context");
var import_react_native = require("react-native");
jest.mock("../context");
jest.mock("@crossed/core/src/composeEventHandlers");
const Comp = (0, import_react.forwardRef)((p, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, { ...p, role: "label", ref }));
const NewComp = (0, import_LabelText.createLabelText)(Comp);
const useContextMocked = import_context.useContext;
describe("createLabelMain", () => {
beforeEach(() => {
useContextMocked.mockImplementation(() => ({
id: "id",
inputRef: { current: void 0 }
}));
});
afterEach(() => {
useContextMocked.mockReset();
});
test("init", async () => {
const child = "Pass child";
const onPress = jest.fn();
const onFocus = jest.fn();
useContextMocked.mockImplementation(() => ({
id: "id",
inputRef: { current: { focus: onFocus } }
}));
(0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(NewComp, { onPress, children: child }));
expect(useContextMocked).toBeCalled();
const el = await import_test.screen.getByText(child);
expect(el).toHaveAttribute("id", "label-id");
el.click();
expect(onPress).toHaveBeenCalled();
expect(onFocus).toHaveBeenCalled();
});
});
//# sourceMappingURL=LabelText.spec.js.map