UNPKG

@crossed/ui

Version:

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

49 lines (48 loc) 2.03 kB
var import_jsx_runtime = require("react/jsx-runtime"); var import_test = require("@crossed/test"); var import_DayButton = require("../DayButton"); describe("DayButton", () => { const mockDay = { date: new Date(2025, 1, 15), isToday: false, isSelected: false, isAdjacentMonth: false }; const mockOnPress = jest.fn(); test("renders correctly with given day", () => { (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DayButton.DayButton, { day: mockDay, onPress: mockOnPress })); expect(import_test.screen.getByText("15")).toBeInTheDocument(); }); test("calls onPress when clicked", () => { (0, import_test.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DayButton.DayButton, { day: mockDay, onPress: mockOnPress })); import_test.fireEvent.click(import_test.screen.getByRole("button")); expect(mockOnPress).toHaveBeenCalled(); }); test("disables button if day is adjacent month", () => { (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsx)( import_DayButton.DayButton, { day: { ...mockDay, isAdjacentMonth: true }, onPress: mockOnPress } ) ); expect(import_test.screen.getByRole("button")).toBeDisabled(); }); test("applies correct styles when day is today", () => { (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DayButton.DayButton, { day: { ...mockDay, isToday: true }, onPress: mockOnPress }) ); expect(import_test.screen.getByText("15")).toHaveStyle("borderWidth: 2"); }); test("applies correct styles when day is selected", () => { (0, import_test.render)( /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DayButton.DayButton, { day: { ...mockDay, isSelected: true }, onPress: mockOnPress }) ); expect(import_test.screen.getByText("15")).toHaveClass( "color-[var(--components--action-primary-default-text)]" ); }); }); //# sourceMappingURL=DayButton.spec.js.map