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)
30 lines (25 loc) • 860 B
text/typescript
import {
clampCurrentPage,
getTotalItems,
normalizePageSize,
} from '../../src/utils/normalize'
describe('Normalize utils', () => {
it('should normalize invalid page sizes to 1', () => {
expect(normalizePageSize(0)).toBe(1)
expect(normalizePageSize(-5)).toBe(1)
expect(normalizePageSize(Number.NaN)).toBe(1)
})
it('should floor valid page sizes', () => {
expect(normalizePageSize(5.9)).toBe(5)
})
it('should return zero total items for nullish collections', () => {
expect(getTotalItems(null)).toBe(0)
expect(getTotalItems(undefined)).toBe(0)
})
it('should clamp current page to valid bounds', () => {
expect(clampCurrentPage(0, 5)).toBe(1)
expect(clampCurrentPage(99, 5)).toBe(5)
expect(clampCurrentPage(3, 5)).toBe(3)
expect(clampCurrentPage(1, 0)).toBe(1)
})
})