@swrve/core
Version:
Core set of Swrve UI Components
47 lines (37 loc) • 1.23 kB
JavaScript
import React from 'react'
import { render } from '@testing-library/react'
import Pagination from '../Pagination'
describe('<Pagination/>', () => {
let wrapper
const onPageChangeSpy = jest.fn().mockName('onPageChange')
const defaultProps = {
onPageChange: onPageChangeSpy,
activePage: 1,
numberOfPages: 5,
maxVisibleButtons: 5
}
beforeEach(() => {
wrapper = render(<Pagination {...defaultProps} />)
})
it('should render pagination with active page', () => {
const { container } = wrapper
expect(
container
.querySelectorAll('.sw-page-option')[0]
.querySelector('button')
.classList.contains('active')
).toBeTruthy()
})
it('should render no pagination with 0 numberOfPages', () => {
const { container } = render(<Pagination {...defaultProps} numberOfPages={0} />)
expect(container).toBeEmpty()
})
it('should show correct amount of buttons', () => {
const { container } = wrapper
expect(container.querySelectorAll('li')).toHaveLength(7)
})
it('should have prev button shown disabled', () => {
const { container } = wrapper
expect(container.querySelector('.sw-pagination-item')).toHaveAttribute('disabled')
})
})