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
JavaScript
;
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();
});
});