pagination-front-end
Version:
pagination-front-end é uma biblioteca voltada para realização de paginação no front end( pagination-front-end is a front-end paging library)
49 lines (41 loc) • 1.31 kB
text/typescript
import calculationPages from '../../src/utils/calculationPages'
import drones from '../mock/drones'
describe('CalculationPages', () => {
it('should calculate the total number of pages and maximum number of pages', () => {
const allItems = drones == null || drones == undefined ? 0 : drones.length
expect(calculationPages(allItems, 5)).toStrictEqual({
allPages: 3,
maxPages: 2,
})
})
it('should return zero pages when there are no items', () => {
expect(calculationPages(0, 5)).toStrictEqual({
allPages: 0,
maxPages: 0,
})
})
it('should return one page when items fit in a single page', () => {
expect(calculationPages(3, 10)).toStrictEqual({
allPages: 1,
maxPages: 0,
})
})
it('should calculate exact division without remainder', () => {
expect(calculationPages(12, 4)).toStrictEqual({
allPages: 3,
maxPages: 3,
})
})
it('should round maxPages and ceil allPages when division is not exact', () => {
expect(calculationPages(11, 4)).toStrictEqual({
allPages: 3,
maxPages: 3,
})
})
it('should handle pageSize equal to 1', () => {
expect(calculationPages(5, 1)).toStrictEqual({
allPages: 5,
maxPages: 5,
})
})
})