コード例 #1
0
        public async Task TestaOSaque()
        {
            //Arrange
            var documento   = "123456789";
            var clienteMock = new Cliente()
            {
                Nome = "Antonio Almeida", Documento = documento, Conta = new Conta()
                {
                    Saldo = 2500
                }
            };
            var saque = 500;

            await _context.Clientes.AddAsync(clienteMock);

            await _context.SaveChangesAsync();

            //Act
            var cliente = await _repositorioCliente.GetClienteByDocumentoAsync(documento);

            var conta = await _repository.SaqueAsync(cliente.Id, saque);

            //Assert
            Assert.NotNull(cliente);
            Assert.NotNull(conta);
            Assert.Equal(cliente.Conta.Saldo, conta.Saldo);
        }
コード例 #2
0
        public async Task <IActionResult> SaqueContaAsync([FromBody] MovementRequest saque)
        {
            var clienteDB = await GetClienteDbAsync(saque.Documento);

            if (clienteDB != null)
            {
                var operacao = _contaRepositorio.SaqueAsync(clienteDB.Id, saque.Valor);
                return(Ok(new { Operacao = "Saque", Conta = operacao }));
            }

            return(BadRequest(new { result = "Não foi Possível realizar a operação." }));
        }