From c3eb184b73169d0c7611298f7e3fb00bde72a21a Mon Sep 17 00:00:00 2001 From: Hugo SUBTIL <ext.sopra.husubtil@grandlyon.com> Date: Fri, 11 Dec 2020 16:21:56 +0100 Subject: [PATCH] feat: add tu for password change --- src/users/users.service.spec.ts | 18 ++++++++++++++++++ src/users/users.service.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/users/users.service.spec.ts b/src/users/users.service.spec.ts index a8a4419cb..9f9656801 100644 --- a/src/users/users.service.spec.ts +++ b/src/users/users.service.spec.ts @@ -99,4 +99,22 @@ describe('UsersService', () => { expect(await service.validateUser('add3d', 'qdqdqdqd185')).toBe(result); }); }); + + describe('changeUserPassword', () => { + it('should not change password', async () => { + const result = new HttpException('Invalid token', HttpStatus.UNAUTHORIZED); + jest.spyOn(service, 'changeUserPassword').mockImplementation(async (): Promise<HttpException> => result); + expect(await service.changeUserPassword('add3d', 'azertyU1', 'azertyU1!d')).toBe(result); + }); + it('should not change password', async () => { + const result = new HttpException('Invalid token', HttpStatus.UNPROCESSABLE_ENTITY); + jest.spyOn(service, 'changeUserPassword').mockImplementation(async (): Promise<HttpException> => result); + expect(await service.changeUserPassword('add3d', 'azertyU1!d', 'a')).toBe(result); + }); + it('should not change password', async () => { + const result = new HttpException('Invalid token', HttpStatus.CREATED); + jest.spyOn(service, 'changeUserPassword').mockImplementation(async (): Promise<HttpException> => result); + expect(await service.changeUserPassword('add3d', 'azertyU1!d', 'azertyU1!d')).toBe(result); + }); + }); }); diff --git a/src/users/users.service.ts b/src/users/users.service.ts index c4db445d0..60780de2b 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -134,7 +134,7 @@ export class UsersService { } } - public async changeUserPassword(userId: string, oldPassword: string, newPassword: string) { + public async changeUserPassword(userId: string, oldPassword: string, newPassword: string): Promise<any> { const user = await this.findById(userId, true); const arePasswordEqual = await this.comparePassword(oldPassword, user.password); if (!arePasswordEqual) { -- GitLab