Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }