@@ -97,17 +97,48 @@ describe('AuthService', () => {
9797 await expect ( service . login ( args ) ) . rejects . toThrow ( expectedResponse ) ;
9898 } ) ;
9999 } ) ;
100+
100101 describe ( 'changePassword' , ( ) => {
101102 const args = { cpf : '0000000000' , newPass : 'nova-senha' } ;
102103 it ( 'Resolve: Deve resolver retornando payload' , async ( ) => {
103104 const expectedResponse = { message : 'success' } as any ;
104- prismaMock . usuario . findUnique . mockResolvedValue ( { id : 'um-id' } as any ) ;
105+
106+ prismaMock . usuario . findUnique . mockResolvedValue ( {
107+ id : 'um-id' ,
108+ } as any ) ;
109+
110+ prismaMock . acesso . findUnique . mockResolvedValue ( {
111+ ultimoLogin : null ,
112+ } as any ) ;
113+
105114 prismaMock . acesso . update . mockResolvedValue ( { message : 'success' } as any ) ;
106115
107- await expect ( service . changePassword ( args ) ) . resolves . toEqual (
108- expectedResponse ,
109- ) ;
116+ const args = { cpf : '12345678900' , newPass : 'new-password' } ;
117+
118+ // --- executa só uma vez ---
119+ const result = await service . changePassword ( args ) ;
120+
121+ // valida retorno
122+ expect ( result ) . toEqual ( expectedResponse ) ;
123+
124+ // valida chamadas do prisma
125+ // eslint-disable-next-line @typescript-eslint/unbound-method
126+ expect ( prismaMock . usuario . findUnique ) . toHaveBeenCalledWith ( {
127+ where : { cpf : args . cpf } ,
128+ } ) ;
129+
130+ // eslint-disable-next-line @typescript-eslint/unbound-method
131+ expect ( prismaMock . acesso . findUnique ) . toHaveBeenCalledWith ( {
132+ where : { usuarioId : 'um-id' } ,
133+ } ) ;
134+
135+ // eslint-disable-next-line @typescript-eslint/unbound-method
136+ expect ( prismaMock . acesso . update ) . toHaveBeenCalledWith ( {
137+ where : { usuarioId : 'um-id' } ,
138+ data : { senha : args . newPass } ,
139+ } ) ;
110140 } ) ;
141+
111142 it ( 'Reject: Deve rejeitar caso não encontre usuario com jogando mensagem de erro' , async ( ) => {
112143 const expectedResponse = 'Usuario não encontrado' ;
113144 prismaMock . usuario . findUnique . mockResolvedValue ( null ) ;
0 commit comments