add coverage for query builder + filter

This commit is contained in:
ppetzold 2023-03-24 19:06:50 +01:00
parent 12dc1b0412
commit ab24b88702

View File

@ -166,7 +166,6 @@ describe('paginate', () => {
const config: PaginateConfig<CatEntity> = {
sortableColumns: ['id'],
defaultSortBy: [['id', 'ASC']],
defaultLimit: 1,
}
const query: PaginateQuery = {
path: '',
@ -180,6 +179,32 @@ describe('paginate', () => {
const result = await paginate<CatEntity>(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<CatEntity> = {
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<CatEntity>(query, queryBuilder, config)
expect(result.data).toStrictEqual(cats.slice(3, 4))
})