import React from 'react'; import { mount } from 'enzyme'; import { I18nProvider } from '@lingui/react'; import Pagination from '../../src/components/Pagination'; describe('', () => { let pagination; afterEach(() => { if (pagination) { pagination.unmount(); pagination = null; } }); test('it triggers the expected callbacks on next and last', () => { const next = 'button[aria-label="Next"]'; const last = 'button[aria-label="Last"]'; const onSetPage = jest.fn(); pagination = mount( ); pagination.find(next).simulate('click'); expect(onSetPage).toHaveBeenCalledTimes(1); expect(onSetPage).toBeCalledWith(2, 5); pagination.find(last).simulate('click'); expect(onSetPage).toHaveBeenCalledTimes(2); expect(onSetPage).toBeCalledWith(5, 5); }); test('it triggers the expected callback on previous and first', () => { const previous = 'button[aria-label="Previous"]'; const first = 'button[aria-label="First"]'; const onSetPage = jest.fn(); pagination = mount( ); pagination.find(previous).simulate('click'); expect(onSetPage).toHaveBeenCalledTimes(1); expect(onSetPage).toBeCalledWith(4, 5); pagination.find(first).simulate('click'); expect(onSetPage).toHaveBeenCalledTimes(2); expect(onSetPage).toBeCalledWith(1, 5); }); });