import React from 'react'; import { fireEvent, render, screen } from '../../test-utils'; import { Pagination } from '.'; describe('', () => { it('renders pagination with correct number of pages', () => { render( {}} onPreviousPageClick={() => {}} />, ); const prevButton = screen.getByText(/previous 02/i); const nextButton = screen.getByText(/05 next/i); expect(prevButton).toBeInTheDocument(); expect(nextButton).toBeInTheDocument(); }); it('calls onPrevPage when prev button is clicked', () => { const onPrevPageMock = jest.fn(); render( {}} onPreviousPageClick={onPrevPageMock} />, ); const prevButton = screen.getByText(/previous 02/i); fireEvent.click(prevButton); expect(onPrevPageMock).toHaveBeenCalled(); }); it('calls onNextPage when next button is clicked', () => { const onNextPageMock = jest.fn(); render( {}} />, ); const nextButton = screen.getByText(/05 next/i); fireEvent.click(nextButton); expect(onNextPageMock).toHaveBeenCalled(); }); it('disables prev button on first page', () => { render( {}} onPreviousPageClick={() => {}} />, ); const prevButton = screen.getByTestId('Pagination-PreviousActionButton-disabled'); expect(prevButton).toBeInTheDocument(); }); it('disables next button on last page', () => { render( {}} onPreviousPageClick={() => {}} />, ); const nextButton = screen.getByTestId('Pagination-NextActionButton-disabled'); expect(nextButton).toBeInTheDocument(); }); });