예제 #1
0
        private Resultado DadosValidos(UsuarioUpdateSenhaModel model)
        {
            var resultado = new Resultado();

            if (model == null)
            {
                resultado.Inconsistencias.Add(
                    "Preencha os Dados do Usuário");
            }
            else
            {
                if (String.IsNullOrWhiteSpace(model.SenhaAntiga))
                {
                    resultado.Inconsistencias.Add(
                        "Preencha a Senha Antiga do Usuário");
                }
                if (String.IsNullOrWhiteSpace(model.SenhaNova))
                {
                    resultado.Inconsistencias.Add(
                        "Preencha a Senha Nova do Usuário");
                }
            }

            return(resultado);
        }
예제 #2
0
        public void AtualizarSenha()
        {
            this.DataCreate();

            var senhaAntiga = "12345";
            var senha       = "joT@111";
            var hash        = PasswordEncrypt.Hash(senha);

            UsuarioUpdateSenhaModel model = new UsuarioUpdateSenhaModel()
            {
                Email       = "*****@*****.**",
                SenhaAntiga = senhaAntiga,
                SenhaNova   = senha
            };
            // Act
            var result = _controller.AtualizarSenha(model);

            // Assert
            Assert.NotNull(result);
            var item = Assert.IsType <Resultado>(result);

            Assert.True(item.Sucesso);
            Assert.Empty(item.Inconsistencias);

            var list = _controller.Get();

            Assert.NotNull(list);
            Assert.NotEmpty(list);
            var items = Assert.IsType <List <UsuarioModel> >(list);

            Assert.Single(items);

            var usuario = items.First();

            Assert.Equal(hash, usuario.Senha);

            //Back
            model.SenhaAntiga = senha;
            model.SenhaNova   = senhaAntiga;
            result            = _controller.AtualizarSenha(model);
            Assert.NotNull(result);
            Assert.True(item.Sucesso);
            Assert.Empty(item.Inconsistencias);
        }
예제 #3
0
        public Resultado AtualizarSenha(UsuarioUpdateSenhaModel model)
        {
            Resultado resultado = DadosValidos(model);

            resultado.Acao = "Troca de Senha do Usuário";

            if (resultado.Inconsistencias.Count == 0)
            {
                Usuario usuario = _data.ObterPorEmailSenha(model.Email, PasswordEncrypt.Hash(model.SenhaAntiga));

                if (usuario == null)
                {
                    resultado.Inconsistencias.Add(
                        "Usuário não encontrado");
                }
                else
                {
                    usuario.Senha = PasswordEncrypt.Hash(model.SenhaNova);
                    _data.Salvar(usuario);
                }
            }

            return(resultado);
        }
예제 #4
0
        public void AtualizarSenhaInvalida()
        {
            this.DataCreate();

            var senhaAntiga = "99879";
            var senha       = "joT@111";

            UsuarioUpdateSenhaModel model = new UsuarioUpdateSenhaModel()
            {
                Email       = "*****@*****.**",
                SenhaAntiga = senhaAntiga,
                SenhaNova   = senha
            };
            // Act
            var result = _controller.AtualizarSenha(model);

            // Assert
            Assert.NotNull(result);
            var item = Assert.IsType <Resultado>(result);

            Assert.False(item.Sucesso);
            Assert.NotEmpty(item.Inconsistencias);
            Assert.Equal("Usuário não encontrado", item.Inconsistencias.First());
        }
예제 #5
0
 public Resultado AtualizarSenha([FromBody] UsuarioUpdateSenhaModel model)
 {
     return(_service.AtualizarSenha(model));
 }