Enhance pagination and ordering capabilities in API responses
- Updated pagination-response and read-write-controllers documentation to include `orderBy` and `orderType` parameters for sorting results. - Introduced new `order-clause` module to handle ordering logic, including validation for order types and columns. - Enhanced `PaginationQueryDto` to support ordering fields in API requests. - Updated various repository and service classes to implement ordering in database queries. - Added unit tests for new ordering functionality and ensured existing tests cover the updated behavior. - Refactored related DTOs to include user and code relations for better data representation in responses.
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import {
|
||||
CODE_RELATION_FIELDS,
|
||||
DEFAULT_RELATION_FIELDS,
|
||||
pickCodeRelation,
|
||||
pickDefaultRelation,
|
||||
pickRelation,
|
||||
pickUserRelation,
|
||||
@@ -60,6 +62,19 @@ describe('pickRelation', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('pickCodeRelation', () => {
|
||||
it('picks id and code only', () => {
|
||||
expect(
|
||||
pickCodeRelation({
|
||||
id: 'so-1',
|
||||
code: 'SO-001',
|
||||
}),
|
||||
).toEqual({ id: 'so-1', code: 'SO-001' });
|
||||
expect(CODE_RELATION_FIELDS).toEqual(['id', 'code']);
|
||||
expect(pickCodeRelation(null)).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('pickDefaultRelation / pickUserRelation', () => {
|
||||
it('maps catalog and user sources without leaking extra fields', () => {
|
||||
expect(
|
||||
|
||||
Reference in New Issue
Block a user