diff --git a/src/sponsors/sponsors.service.spec.ts b/src/sponsors/sponsors.service.spec.ts index 31958ab..8afcf2b 100644 --- a/src/sponsors/sponsors.service.spec.ts +++ b/src/sponsors/sponsors.service.spec.ts @@ -21,6 +21,7 @@ function createMockQueryBuilder(result: { raw?: unknown; many?: unknown[] }) { andWhere: jest.fn().mockReturnThis(), innerJoin: jest.fn().mockReturnThis(), orderBy: jest.fn().mockReturnThis(), + addOrderBy: jest.fn().mockReturnThis(), take: jest.fn().mockReturnThis(), skip: jest.fn().mockReturnThis(), getRawOne: jest.fn().mockResolvedValue(result.raw), @@ -187,6 +188,8 @@ describe('SponsorsService', () => { await service.activeBounties('sponsor-1'); expect(bountyRepo.createQueryBuilder).toHaveBeenCalledWith('bounty'); + expect(qb.orderBy).toHaveBeenCalledWith('bounty.createdAt', 'DESC'); + expect(qb.addOrderBy).toHaveBeenCalledWith('bounty.id', 'DESC'); expect(qb.where).toHaveBeenCalledWith('bounty.sponsorId = :sponsorId', { sponsorId: 'sponsor-1', }); @@ -215,6 +218,9 @@ describe('SponsorsService', () => { { sponsorId: 'sponsor-1', status: MilestoneStatus.FUNDED }, { sponsorId: 'sponsor-1', status: MilestoneStatus.IN_PROGRESS }, ], + order: { createdAt: 'DESC', id: 'DESC' }, + take: 20, + skip: 0, }); expect(result).toBe(milestones); }); diff --git a/src/sponsors/sponsors.service.ts b/src/sponsors/sponsors.service.ts index ef6d384..3d84c49 100644 --- a/src/sponsors/sponsors.service.ts +++ b/src/sponsors/sponsors.service.ts @@ -49,6 +49,8 @@ export class SponsorsService { BountyStatus.EXPIRED, ], }) + .orderBy('bounty.createdAt', 'DESC') + .addOrderBy('bounty.id', 'DESC') .take(options.limit ?? 20) .skip(options.offset ?? 0) .getMany(); @@ -104,6 +106,7 @@ export class SponsorsService { { sponsorId, status: MilestoneStatus.FUNDED }, { sponsorId, status: MilestoneStatus.IN_PROGRESS }, ], + order: { createdAt: 'DESC', id: 'DESC' }, take: options.limit ?? 20, skip: options.offset ?? 0, }); @@ -116,6 +119,7 @@ export class SponsorsService { ): Promise> { const milestones = await this.milestoneRepo.find({ where: { sponsorId }, + order: { createdAt: 'DESC', id: 'DESC' }, take: options.limit ?? 20, skip: options.offset ?? 0, });