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); }
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." })); }