Merge pull request #1089 from c-premus/fix/dynamic-filter-pagination
This commit is contained in:
@@ -1,9 +1,21 @@
|
|||||||
import { ToNumber } from '@/common/decorators/Validators';
|
import { ToNumber } from '@/common/decorators/Validators';
|
||||||
import { ApiPropertyOptional } from '@nestjs/swagger';
|
import { ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { IsArray, IsOptional, IsString } from 'class-validator';
|
import { IsArray, IsInt, IsOptional, IsString } from 'class-validator';
|
||||||
import { IFilterRole, ISortOrder } from '../DynamicFilter/DynamicFilter.types';
|
import { IFilterRole, ISortOrder } from '../DynamicFilter/DynamicFilter.types';
|
||||||
|
|
||||||
export class DynamicFilterQueryDto {
|
export class DynamicFilterQueryDto {
|
||||||
|
@ApiPropertyOptional({ description: 'Page number (1-based)', type: Number })
|
||||||
|
@IsOptional()
|
||||||
|
@IsInt()
|
||||||
|
@ToNumber()
|
||||||
|
page?: number;
|
||||||
|
|
||||||
|
@ApiPropertyOptional({ description: 'Page size', type: Number })
|
||||||
|
@IsOptional()
|
||||||
|
@IsInt()
|
||||||
|
@ToNumber()
|
||||||
|
pageSize?: number;
|
||||||
|
|
||||||
@ApiPropertyOptional({ description: 'Custom view ID', type: Number })
|
@ApiPropertyOptional({ description: 'Custom view ID', type: Number })
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
@ToNumber()
|
@ToNumber()
|
||||||
|
|||||||
@@ -77,4 +77,16 @@ describe('Expenses (e2e)', () => {
|
|||||||
.set('Authorization', AuthorizationHeader)
|
.set('Authorization', AuthorizationHeader)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('/expenses (GET) honors page and pageSize query params', async () => {
|
||||||
|
const response = await request(app.getHttpServer())
|
||||||
|
.get('/expenses?page=2&pageSize=5')
|
||||||
|
.set('organization-id', orgainzationId)
|
||||||
|
.set('Authorization', AuthorizationHeader)
|
||||||
|
.expect(200);
|
||||||
|
|
||||||
|
expect(response.body.pagination).toBeDefined();
|
||||||
|
expect(response.body.pagination.page).toBe(2);
|
||||||
|
expect(response.body.pagination.page_size).toBe(5);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user