Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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" }));
        }
Ejemplo n.º 3
0
        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();
        }