الملفات
back_end_oudelaa/src/common/utils/pagination.util.spec.ts
boutmoun123 5bd5e19a89
فشلت بعض الفحوصات
/ deploy (push) Failing after 1m22s
feat: expand backend admin marketplace and scaling
2026-05-14 16:44:07 +03:00

38 أسطر
1.1 KiB
TypeScript

import { buildPaginatedResponse } from './pagination.util';
describe('pagination util', () => {
it('builds offset pagination metadata', () => {
const result = buildPaginatedResponse(['a', 'b'], {
page: 2,
limit: 2,
total: 5,
offset: 2,
});
expect(result.count).toBe(2);
expect(result.totalPages).toBe(3);
expect(result.pagination.hasNextPage).toBe(true);
expect(result.pagination.hasPreviousPage).toBe(true);
expect(result.pagination.nextPage).toBe(3);
expect(result.pagination.previousPage).toBe(1);
expect(result.pagination.mode).toBe('offset');
});
it('builds cursor pagination metadata', () => {
const result = buildPaginatedResponse(['a'], {
page: 1,
limit: 2,
total: 3,
offset: 0,
currentCursor: 'cursor-a',
nextCursor: 'cursor-b',
mode: 'cursor',
});
expect(result.nextCursor).toBe('cursor-b');
expect(result.pagination.currentCursor).toBe('cursor-a');
expect(result.pagination.nextCursor).toBe('cursor-b');
expect(result.pagination.mode).toBe('cursor');
});
});