@cainiaofe/cn-ui-m
Version:
40 lines (39 loc) • 2.07 kB
JavaScript
import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import { CnPagination } from '../index';
describe('CnPagination', function () {
test('should render previous button', function () {
var getByText = render(React.createElement(CnPagination, { total: 100, size: "small" })).getByText;
var previousButton = getByText('上一页');
expect(previousButton).toBeInTheDocument();
});
test('should render next button', function () {
var getByText = render(React.createElement(CnPagination, { size: "small" })).getByText;
var nextButton = getByText('下一页');
expect(nextButton).toBeInTheDocument();
});
test('should handle previous button click', function () {
var handleChange = jest.fn();
var getByText = render(React.createElement(CnPagination, { size: "small", total: 100, current: 2, onChange: handleChange })).getByText;
var previousButton = getByText('上一页');
fireEvent.click(previousButton);
expect(handleChange).toHaveBeenCalled();
});
test('should handle next button click', function () {
var handleChange = jest.fn();
var getByText = render(React.createElement(CnPagination, { size: "small", total: 100, current: 2, onChange: handleChange })).getByText;
var nextButton = getByText('下一页');
fireEvent.click(nextButton);
expect(handleChange).toHaveBeenCalled();
});
test('should render correct current page value', function () {
var getByText = render(React.createElement(CnPagination, { total: 100, current: 2, size: "small" })).getByText;
var currentPageValue = getByText('2');
expect(currentPageValue).toBeInTheDocument();
});
test('should render correct total page value', function () {
var getByText = render(React.createElement(CnPagination, { total: 100, current: 2, size: "small" })).getByText;
var totalPageValue = getByText('/10');
expect(totalPageValue).toBeInTheDocument();
});
});