mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
Merge pull request #980 from Tria-plc/freight_feature/usermanagement
fix: correct column name in orderBy clause for listRequests method
This commit is contained in:
@@ -232,4 +232,29 @@ describe('WagonTransferRequestsService — partial fulfilment', () => {
|
||||
).rejects.toBeInstanceOf(BadRequestException);
|
||||
});
|
||||
});
|
||||
|
||||
describe('listRequests', () => {
|
||||
// TypeORM paginates a joined query through a DISTINCT subquery and resolves
|
||||
// every orderBy criterion against entity metadata — a DB column name there
|
||||
// (`r.created_at`) makes it read `.databaseName` of undefined → 500.
|
||||
it('sorts by the entity property path, not the DB column', async () => {
|
||||
const qb = {
|
||||
leftJoinAndSelect: jest.fn().mockReturnThis(),
|
||||
andWhere: jest.fn().mockReturnThis(),
|
||||
orderBy: jest.fn().mockReturnThis(),
|
||||
skip: jest.fn().mockReturnThis(),
|
||||
take: jest.fn().mockReturnThis(),
|
||||
getManyAndCount: jest.fn().mockResolvedValue([[], 0]),
|
||||
};
|
||||
requestRepo.createQueryBuilder.mockReturnValue(qb);
|
||||
|
||||
await service.listRequests({
|
||||
status: 'PENDING,PARTIALLY_FULFILLED',
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
});
|
||||
|
||||
expect(qb.orderBy).toHaveBeenCalledWith('r.createdAt', 'DESC');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -159,7 +159,7 @@ export class WagonTransferRequestsService {
|
||||
? 'r.quantity'
|
||||
: query.sortBy === 'status'
|
||||
? 'r.status'
|
||||
: 'r.created_at';
|
||||
: 'r.createdAt';
|
||||
qb.orderBy(sortColumn, query.sortOrder ?? 'DESC');
|
||||
|
||||
return paginateQuery(qb, { page: query.page, pageSize: query.pageSize });
|
||||
|
||||
Reference in New Issue
Block a user