UNPKG

@crossed/ui

Version:

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

40 lines (39 loc) 2.14 kB
var import_jsx_runtime = require("react/jsx-runtime"); var import_react = require("react"); var import_IconButton = require("../IconButton"); var import_unicons = require("@crossed/unicons"); var import_test = require("@crossed/test"); describe("IconButton", () => { it("renders correctly", () => { (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_IconButton.IconButton, {})); const button = import_test.screen.getByRole("button"); expect(button).toBeTruthy(); }); it("renders the provided children", () => { (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_IconButton.IconButton, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_unicons.X, {}) }) ); expect(import_test.screen.getByRole("button")).toMatchSnapshot(); }); it("calls onPress when pressed", async () => { const onPressMock = jest.fn(); (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_IconButton.IconButton, { onPress: onPressMock })); const button = import_test.screen.getByRole("button"); await (0, import_react.act)(() => import_test.userEvent.click(button)); expect(onPressMock).toHaveBeenCalledTimes(1); }); it("does not call onPress when disabled", async () => { const onPressMock = jest.fn(); (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_IconButton.IconButton, { onPress: onPressMock, disabled: true })); const button = import_test.screen.getByRole("button"); await (0, import_react.act)(() => import_test.userEvent.click(button, { pointerEventsCheck: 0 })); expect(onPressMock).not.toHaveBeenCalled(); }); it("renders function-based children correctly", () => { const childMock = jest.fn(() => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_unicons.X, {})); (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_IconButton.IconButton, { children: childMock })); expect(childMock).toHaveBeenCalled(); expect(import_test.screen.getByRole("button")).toMatchSnapshot(); }); }); //# sourceMappingURL=IconButton.spec.js.map