UNPKG

@cainiaofe/cn-ui-m

Version:
40 lines (39 loc) 2.07 kB
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(); }); });