From ab24b887025313a4e5d12ac532ab0bad1e13c7d9 Mon Sep 17 00:00:00 2001 From: ppetzold Date: Fri, 24 Mar 2023 19:06:50 +0100 Subject: [PATCH] add coverage for query builder + filter --- src/paginate.spec.ts | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/paginate.spec.ts b/src/paginate.spec.ts index 48dd67c..552e600 100644 --- a/src/paginate.spec.ts +++ b/src/paginate.spec.ts @@ -166,7 +166,6 @@ describe('paginate', () => { const config: PaginateConfig = { sortableColumns: ['id'], defaultSortBy: [['id', 'ASC']], - defaultLimit: 1, } const query: PaginateQuery = { path: '', @@ -180,6 +179,32 @@ describe('paginate', () => { const result = await paginate(query, queryBuilder, config) + expect(result.data).toStrictEqual(cats.slice(3, 5)) + }) + + it('should accept query builder and work with query filter', async () => { + const config: PaginateConfig = { + sortableColumns: ['id'], + defaultSortBy: [['id', 'ASC']], + filterableColumns: { + 'size.height': true, + }, + } + const query: PaginateQuery = { + path: '', + filter: { + 'size.height': '$gte:20', + }, + } + + const queryBuilder = await dataSource + .createQueryBuilder() + .select('cats') + .from(CatEntity, 'cats') + .where('cats.color = :color', { color: 'white' }) + + const result = await paginate(query, queryBuilder, config) + expect(result.data).toStrictEqual(cats.slice(3, 4)) })