public Cliente ConverterAdicionar(AdicionarClienteCommand command) { return(new Cliente() { Nome = command.Nome, Cpf = command.Cpf, Email = command.Email }); }
public void Deve_Retornar_Nome_Do_Cliente_Valido_No_Comando_Adicionar_Cliente() { var nome = "André"; var email = "*****@*****.**"; var adicionarClienteCommand = new AdicionarClienteCommand(nome, email); var commandResult = adicionarClienteCommand.EhValido(); Assert.IsTrue(commandResult); }
public void Nao_Deve_Retornar_Email_Do_Cliente_Valido_No_Comando_Adicionar_Cliente() { var nome = "Andre"; var email = ""; var adicionarClienteCommand = new AdicionarClienteCommand(nome, email); var commandResult = adicionarClienteCommand.EhValido(); Assert.IsFalse(commandResult); }
public void Deve_Retornar_Erro_De_Validacao_Quando_Email_Do_Cliente_Eh_Invalido() { //Arrange var adicionarClienteCommand = new AdicionarClienteCommand("Andre", ""); //Act var adicionarClienteHandler = new AdicionarClienteHandler(clienteRepository, unitOfWork); var commandResult = adicionarClienteHandler.Handle(adicionarClienteCommand, new CancellationToken()); //Assert Assert.AreEqual("E-mail é obrigatório.", commandResult.Result.Erros.FirstOrDefault()); }
public async Task <ResponseToUser> CreateAsync(AdicionarClienteCommand command) { var result = _adicionarValidator.Validate(command); if (!result.IsValid) { return(ErrorResult(result.Errors.Select(q => q.ErrorMessage))); } var entidade = _clienteMapper.ConverterAdicionar(command); await _clienteRepository.CreateAsync(entidade); return(SuccessResult()); }
public async Task <IActionResult> Post([FromBody] AdicionarClienteCommand command) { var result = await _clienteService.CreateAsync(command); if (result.Success) { return(Ok("Cliente cadastrado com sucesso")); } else { return(BadRequest(result.Messages)); } }
public void Deve_Retornar_Erro_Ao_Adicionar_Cliente() { //Arrange var adicionarClienteCommand = new AdicionarClienteCommand("Andre", "*****@*****.**"); clienteRepository.GetByEmail(adicionarClienteCommand.Email).Returns((ClienteModel)null); unitOfWork.Commit().Returns(false); //Act var adicionarClienteHandler = new AdicionarClienteHandler(clienteRepository, unitOfWork); var commandResult = adicionarClienteHandler.Handle(adicionarClienteCommand, new CancellationToken()); //Assert Assert.AreEqual("Ocorreu um erro ao salvar o cliente.", commandResult.Result.Erros.FirstOrDefault()); }
public void Deve_Adicionar_Cliente() { //Arrange var adicionarClienteCommand = new AdicionarClienteCommand("André", "*****@*****.**"); clienteRepository.GetByEmail(adicionarClienteCommand.Email).Returns((ClienteModel)null); unitOfWork.Commit().Returns(true); //Act var adicionarClienteHandler = new AdicionarClienteHandler(clienteRepository, unitOfWork); var commandResult = adicionarClienteHandler.Handle(adicionarClienteCommand, new CancellationToken()); //Assert Assert.AreEqual(ResponseStatus.Sucesso, commandResult.Result.Status); }
public void Deve_Retornar_Erro_De_Validacao_Quando_Ja_Existe_Email_Do_Cliente() { //Arrange var adicionarClienteCommand = new AdicionarClienteCommand("Andre", "*****@*****.**"); clienteRepository.GetByEmail(adicionarClienteCommand.Email).Returns(new ClienteModel( nome: adicionarClienteCommand.Nome, email: adicionarClienteCommand.Email )); //Act var adicionarClienteHandler = new AdicionarClienteHandler(clienteRepository, unitOfWork); var commandResult = adicionarClienteHandler.Handle(adicionarClienteCommand, new CancellationToken()); //Assert Assert.AreEqual($"Já existe cliente com este e-mail: {adicionarClienteCommand.Email}.", commandResult.Result.Erros.FirstOrDefault()); }
public void Handle(AdicionarClienteCommand cmd) { Cliente cliente = new Cliente(cmd.Id, cmd.Nome, cmd.Email, StringHelper.RemoverCaracteresEspeciais(cmd.Telefone), cmd.Facebook, cmd.DataNascimento, cmd.Sexo, cmd.EstadoCivil, cmd.AtracaoPreferida, cmd.EstiloPreferido); Usuario usuario = new Usuario(Guid.NewGuid(), cmd.Nome, DateTime.Now, cmd.Email, cmd.Senha, null, null, cliente, cliente.Id); if (!usuario.IsValidCliente()) { NotificarValidacoesErro(usuario.ValidationResult); return; } _usuarioRepository.Adicionar(usuario); if (Commit()) { _mediator.PublicarEvento(new ClienteAdicionadoEvent(cliente.Id, cliente.Nome, cliente.Email, cliente.Sexo, cliente.Telefone, cliente.Facebook, cliente.DataNascimento, cliente.Sexo, cliente.EstadoCivil, cliente.AtracaoPreferida, cliente.EstiloPreferido)); } }