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