diff --git a/src/users/services/jobs.service.spec.ts b/src/users/services/jobs.service.spec.ts index f6e69f769e922d6e28170acabbec92b52d264724..0022c114860a2bb7c5bc4685e0c04a390dc8e57c 100644 --- a/src/users/services/jobs.service.spec.ts +++ b/src/users/services/jobs.service.spec.ts @@ -19,7 +19,10 @@ describe('JobsService', () => { const mockJobModel = { create: jest.fn(), - find: jest.fn(), + find: jest.fn().mockReturnThis(), + collation: jest.fn().mockReturnThis(), + sort: jest.fn().mockReturnThis(), + exec: jest.fn().mockReturnThis(), findOne: jest.fn(), findById: jest.fn(), deleteOne: jest.fn(), @@ -66,26 +69,28 @@ describe('JobsService', () => { describe('findAll', () => { it('should findAll validated jobs', async () => { - mockJobModel.find.mockResolvedValue([ + const result = [ { _id: new Types.ObjectId('6231aefe76598527c8d0b5bc'), name: 'CNFS', validated: true, hasPersonalOffer: true, }, - ]); + ]; + mockJobModel.exec.mockResolvedValueOnce(result); const reply = await service.findAll(); expect(reply.length).toBe(1); }); it('should findAll all jobs', async () => { - mockJobModel.find.mockResolvedValue([ + const result = [ { _id: new Types.ObjectId('6231aefe76598527c8d0b5bc'), name: 'CNFSssss', validated: false, hasPersonalOffer: true, }, - ]); + ]; + mockJobModel.exec.mockResolvedValueOnce(result); const reply = await service.findAll(false); expect(reply.length).toBe(1); }); diff --git a/src/users/services/jobs.service.ts b/src/users/services/jobs.service.ts index 2ff2ff5a3626dd041886c4561ab26f36fb53d5cb..03ce9835f97071bd74f9a2162715757b2e3b54b8 100644 --- a/src/users/services/jobs.service.ts +++ b/src/users/services/jobs.service.ts @@ -23,9 +23,9 @@ export class JobsService { public async findAll(filterValidatedJobs = true): Promise<IJob[]> { this.logger.debug(`findAll with filterValidetedJobs: ${filterValidatedJobs}`); if (!filterValidatedJobs) { - return this.jobModel.find(); + return this.jobModel.find().collation({ locale: 'fr' }).sort({ name: 1 }).exec(); } else { - return this.jobModel.find({ validated: true }); + return this.jobModel.find({ validated: true }).collation({ locale: 'fr' }).sort({ name: 1 }).exec(); } }