public void TestDeveriaCalcularATarifaCorretamente(decimal value, decimal expected) { var contaMock = new Mock <IContaCorrente>(); contaMock.Setup(x => x.Saldo).Returns(0); var deposito = new Deposito(contaMock.Object, DateTime.Now, 0, value, value); var tarifa = deposito.CalcularTarifa(); Assert.Equal(expected, tarifa.Valor); }
public async Task <IDeposito> DepositarAsync(int contaId, decimal valor) { var contaCorrente = await DoFindContaAsync(contaId); var saldoAnterior = contaCorrente.Saldo; contaCorrente.Creditar(valor); var transacao = new Deposito(contaCorrente, DateTime.Now, saldoAnterior, valor, contaCorrente.Saldo); transacao.CalcularTarifa(); await this.transacaoRepository.SaveAsync(transacao); return(transacao); }