public async Task CriarCliente_Sucesso() { // Arrange _repository.Setup(m => m.Salvar(NovoCliente())).Returns(Task.FromResult(true)); var command = new SalvarClienteCommand("Antônio Cléssio", "61470054051"); // Act var result = await _commandHandler.Handle(command, new CancellationToken(false)); // Assert Assert.True(result); }
public async Task CriarCliente_VerificarDuplicidade_Falha() { // Arrange _repository.Setup(m => m.ObterPorCPF("38093208038")).Returns(Task.FromResult(NovoCliente())); var command = new SalvarClienteCommand("Antônio Cléssio", "38093208038"); // Act var result = await _commandHandler.Handle(command, new CancellationToken(false)); // Assert Assert.False(result); }
public async Task <bool> Handle(SalvarClienteCommand request, CancellationToken cancellationToken) { var novoCliente = _mapper.Map <ClienteEntity>(request); if (novoCliente.Invalido) { _validation.AddRange(novoCliente.Mensagens); return(false); } var clienteExistente = await _repository.ObterPorCPF(request.CPF); if (clienteExistente != null) { _validation.Add($"O CPF {request.CPF.Formatado} já está em uso por outro cliente"); return(false); } await _repository.Salvar(novoCliente); return(true); }