feat: expand backend admin marketplace and scaling
فشلت بعض الفحوصات
/ deploy (push) Failing after 1m22s
فشلت بعض الفحوصات
/ deploy (push) Failing after 1m22s
هذا الالتزام موجود في:
37
src/common/utils/pagination.util.spec.ts
Normal file
37
src/common/utils/pagination.util.spec.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
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');
|
||||
});
|
||||
});
|
||||
المرجع في مشكلة جديدة
حظر مستخدم