public async Task RecuperarSenha_DeveRetornarErroQuandoUsuarioNaoExistir() { var recuperarSenhaPayload = new RecuperarSenhaPayload { Email = "*****@*****.**" }; var response = await _polarisLogFixture.Client.PostAsJsonAsync("Usuarios/RecuperarSenha", recuperarSenhaPayload); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); }
public async Task <IActionResult> RecuperarSenha(RecuperarSenhaPayload recuperarSenhaPayload) { var applicationUser = await _userManager.FindByEmailAsync(recuperarSenhaPayload.Email); if (applicationUser == null) { return(BadRequest(new[] { "Nenhum usuário cadastrado com este email" })); } var token = await _userManager.GeneratePasswordResetTokenAsync(applicationUser); var applicationUrl = _configuration.GetValue <string>("ApplicationUrl"); await _emailService.SendAsync(applicationUser.Email, "PolarisLog - Recuperar senha", $"Para trocar sua senha <a href=\"{applicationUrl}/RecuperarSenha?email={applicationUser.Email}&token={token}\">clique aqui</a>", true); return(Ok(new[] { "Foi enviado um email com as instruções para recuperar a senha" })); }
public async Task RecuperarSenha_DeveRetornarSucesso() { var cadastrarUsuarioPayload = new CadastrarUsuarioPayload { Nome = "Carlos Eduardo", Email = "*****@*****.**", Senha = "123456", SenhaConfirmacao = "123456" }; await _polarisLogFixture.Client.PostAsJsonAsync("Usuarios", cadastrarUsuarioPayload); var recuperarSenhaPayload = new RecuperarSenhaPayload { Email = "*****@*****.**" }; var response = await _polarisLogFixture.Client.PostAsJsonAsync("Usuarios/RecuperarSenha", recuperarSenhaPayload); response.EnsureSuccessStatusCode(); }