UNPKG

react-native-ultimate-paginator

Version:

A comprehensive pagination library supporting various pagination scenarios including server-side, client-side, infinite scroll, and load-more functionality

31 lines (30 loc) 1.74 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = __importDefault(require("react")); var react_2 = require("@testing-library/react"); var Pagination_1 = require("../Pagination"); describe('Pagination Component', function () { it('renders numbered pagination correctly', function () { var _a = (0, react_2.render)(react_1.default.createElement(Pagination_1.Pagination, { totalItems: 100, currentPage: 1, pageSize: 10, onPageChange: function () { } })), getByLabelText = _a.getByLabelText, getByText = _a.getByText; expect(getByLabelText('Pagination')).toBeInTheDocument(); expect(getByText('1')).toHaveClass('active'); expect(getByText('Next')).toBeInTheDocument(); }); it('handles page changes correctly', function () { var onPageChange = jest.fn(); var getByText = (0, react_2.render)(react_1.default.createElement(Pagination_1.Pagination, { totalItems: 100, currentPage: 1, pageSize: 10, onPageChange: onPageChange })).getByText; react_2.fireEvent.click(getByText('2')); expect(onPageChange).toHaveBeenCalledWith(2); }); it('renders load more button correctly', function () { var getByText = (0, react_2.render)(react_1.default.createElement(Pagination_1.Pagination, { totalItems: 100, currentPage: 1, pageSize: 10, displayMode: "load-more", loadMoreOptions: { loading: false, hasMore: true, onLoadMore: function () { } } })).getByText; expect(getByText('Load More')).toBeInTheDocument(); }); });