diff --git a/packages/crud/src/services/crud-service.abstract.ts b/packages/crud/src/services/crud-service.abstract.ts index 26a3584b..4e727841 100644 --- a/packages/crud/src/services/crud-service.abstract.ts +++ b/packages/crud/src/services/crud-service.abstract.ts @@ -52,12 +52,8 @@ export abstract class CrudService { data, count: data.length, total, - page: Math.floor(offset / limit) + 1, - pageCount: - limit && total - ? Math.ceil(total / limit) - : /* istanbul ignore next line */ - undefined, + page: limit ? Math.floor(offset / limit) + 1 : 1, + pageCount: limit && total ? Math.ceil(total / limit) : 1, }; } diff --git a/packages/crud/test/crud-service.abstract.spec.ts b/packages/crud/test/crud-service.abstract.spec.ts index 6eccf795..642cc83d 100644 --- a/packages/crud/test/crud-service.abstract.spec.ts +++ b/packages/crud/test/crud-service.abstract.spec.ts @@ -37,6 +37,19 @@ describe('#crud', () => { }; expect(service.createPageInfo([], 100, 10, 10)).toMatchObject(expected); }); + + it('should return an object when limit and offset undefined', () => { + const expected = { + count: 0, + data: [], + page: 1, + pageCount: 1, + total: 100, + }; + expect(service.createPageInfo([], 100, undefined, undefined)).toMatchObject( + expected, + ); + }); }); }); });