예제 #1
0
 public void Dado_um_EmailVazio_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.NewGuid(), "MArcelo", "08272217627", "");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O Email não pode ser vazio.");
 }
예제 #2
0
 public void Dado_um_EmailInvalido_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.NewGuid(), "MArcelo", "08272217627", "marcelogmail.com");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O e-mail informado não é válido.");
 }
예제 #3
0
 public void Dado_um_CpfVazio_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.NewGuid(), "MArcelo", "", "*****@*****.**");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O CPF não pode ser vazio.");
 }
예제 #4
0
 public void Dado_um_CpfInvalido_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.NewGuid(), "MArcelo", "fewfw123", "*****@*****.**");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O CPF informado não é válido.");
 }
예제 #5
0
 public void Dado_um_NomeNulo_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.NewGuid(), null, "08272217627", "*****@*****.**");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O Nome não pode ser nulo.");
 }
예제 #6
0
 public void Dado_um_IdVazio_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.Empty, "Spotify", "08272217627", "*****@*****.**");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O Id não pode ser vazio.");
 }
예제 #7
0
        // Métodos Desnecessários?
        //public async Task<bool> AtualizarEmail(RegistrarDesenvolvedorCommand request)
        //{
        //    if (!request.Valido()) return false;

        //    var desenvolvedor = await _desenvolvedorRepository.ObterPorId(request.Id);
        //    desenvolvedor.AtualizarEmail(request.Email);
        //    _desenvolvedorRepository.Update(desenvolvedor);

        //    await PersistirDados(_desenvolvedorRepository.UnitOfWork);

        //    return true;
        //}

        //public async Task<bool> AtualizarNome(RegistrarDesenvolvedorCommand request)
        //{
        //    if (!request.Valido()) return false;

        //    var desenvolvedor = await _desenvolvedorRepository.ObterPorId(request.Id);
        //    desenvolvedor.AtualizarNome(request.Nome);
        //    _desenvolvedorRepository.Update(desenvolvedor);

        //    await PersistirDados(_desenvolvedorRepository.UnitOfWork);

        //    return true;
        //}
        //public async Task<bool> AtualizarCpf(RegistrarDesenvolvedorCommand request)
        //{
        //    if (!request.Valido()) return false;

        //    var desenvolvedor = await _desenvolvedorRepository.ObterPorId(request.Id);
        //    desenvolvedor.AtualizarCpf(request.Cpf);
        //    _desenvolvedorRepository.Update(desenvolvedor);

        //    await PersistirDados(_desenvolvedorRepository.UnitOfWork);

        //    return true;
        //}

        public async Task <ICommandResult> Handle(AtualizarDesenvolvedorCommand request, CancellationToken cancellationToken)
        {
            if (!request.Valido())
            {
                _comandResult.AddFluentValidation(request.ValidationResult);
                return(_comandResult);
            }

            var desenvolvedor = await _desenvolvedorRepository.ObterPorIdComTracking(request.Id);

            if (desenvolvedor == null)
            {
                AdicionarErro("Id", "Não foi encontrado Desenvolvedor com este Id");
                _comandResult.AddFluentValidation(ValidationResult);
                return(_comandResult);
            }

            desenvolvedor.AtualizarNome(request.Nome);
            desenvolvedor.AtualizarCpf(request.Cpf);
            desenvolvedor.AtualizarEmail(request.Email);

            _desenvolvedorRepository.Update(desenvolvedor);
            var validacaoSalvar = await PersistirDados(_desenvolvedorRepository.UnitOfWork);

            _comandResult.AddFluentValidation(validacaoSalvar);
            _comandResult.AddResult("Alterado com sucesso.");

            return(_comandResult);
        }
예제 #8
0
 public void Dado_um_EmailExtenso_Retorna_Erro()
 {
     _atualizarDesenvolvedorCommandTest =
         new AtualizarDesenvolvedorCommand(Guid.NewGuid(), "MArcelo", "08272217627",
                                           "*****@*****.**");
     _atualizarDesenvolvedorCommandTest.Valido();
     Assert.AreEqual(_atualizarDesenvolvedorCommandTest.ValidationResult.Errors[0].ErrorMessage, "O e-mail não pode ser maior que 100 caracteres.");
 }
예제 #9
0
        public async Task <ICommandResult> PutAtualizarCadastro(Guid id, AtualizarDesenvolvedorCommand command)
        {
            if (id == command.Id)
            {
                return(await _mediatorHandler.EnviarComandoGenerico(command));
            }

            _comandResult.AddErro("Id", "O Id informado no request está diferente do informado no JSON.");
            return(_comandResult);
        }
예제 #10
0
 public void Dado_TodasInformacoesCorretas_Retorna_IsValidTrue()
 {
     _atualizarDesenvolvedorCommandTest = new AtualizarDesenvolvedorCommand(Guid.NewGuid(), "Marcelo", "08272217627", "*****@*****.**");
     Assert.IsTrue(_atualizarDesenvolvedorCommandTest.Valido());
 }