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)
43 lines (32 loc) • 1.48 kB
text/typescript
import filterPagination from '../../src/utils/filterPagination'
import drones from '../mock/drones'
import resultFilterPagination from '../mock/resultFilterPagination'
describe('FilterPagination', () => {
it('should perform pagination filters', () => {
expect(filterPagination(drones, 5, 2)).toStrictEqual(resultFilterPagination)
})
it('should return the first page items when currentPage is 1', () => {
const result = filterPagination(drones, 5, 1)
expect(result.contentItems).toStrictEqual(drones.slice(0, 5))
})
it('should return the last page items when currentPage is the final page', () => {
const result = filterPagination(drones, 5, 3)
expect(result.contentItems).toStrictEqual(drones.slice(10))
})
it('should return an empty array when items is null', () => {
expect(filterPagination(null, 5, 1)).toStrictEqual({ contentItems: [] })
})
it('should return an empty array when items is undefined', () => {
expect(filterPagination(undefined, 5, 1)).toStrictEqual({
contentItems: [],
})
})
it('should return an empty array when items is empty', () => {
expect(filterPagination([], 5, 1)).toStrictEqual({ contentItems: [] })
})
it('should return all items when pageSize is greater than array length', () => {
const items = [{ id: 1 }, { id: 2 }]
const result = filterPagination(items, 10, 1)
expect(result.contentItems).toStrictEqual(items)
})
})