public void Deve_registrar_duas_forma_de_pagamento_a_um_recebimento() { var dataHoraDaSaida = new SimuladorDeDataHoraDoSistema { DataHora = _bilhete.DataHoraDeEntrada.AddMinutes(15) }; _ticket.Saida(dataHoraDaSaida); _recebimento.Conferir(_ticket); var cobrancaPorHora = new CobrancaPorDiaria(); _recebimento.CobrancaPorPermanencia(cobrancaPorHora); var transacaoEmDinheiro = new TransacaoFinanceira(FormaDePagamento.Dinheiro, _valorDaTransacao); _recebimento.Registrar(transacaoEmDinheiro); var transacaoEmCartaDeDebito = new TransacaoFinanceira(FormaDePagamento.CartaoDeDebito, _valorDaTransacao); _recebimento.Registrar(transacaoEmCartaDeDebito); var valorDaTransacaoEsperado = _valorDaTransacao * 2; var transacoesFinanceirasEsperada = new TransacoesFinanceiras(); transacoesFinanceirasEsperada.Adicionar(new TransacaoFinanceira(FormaDePagamento.Dinheiro, _valorDaTransacao)); transacoesFinanceirasEsperada.Adicionar(new TransacaoFinanceira(FormaDePagamento.CartaoDeDebito, _valorDaTransacao)); Assert.Equal(transacoesFinanceirasEsperada.Transacoes, _recebimento.TransacoesFinanceiras.Transacoes); Assert.True(_recebimento.TotalDasTransacoesFinanceiras() == valorDaTransacaoEsperado); }
public ReturnOperation SetCreate(TransacaoFinanceira transacao) { var returnOperation = new ReturnOperation(); _transacaoFinanceiraRepository.Add(transacao); _usuarioClient.AtualizaSaldo(transacao.Valor, transacao.TipoTransacaoFinanceira, transacao.UsuarioId); return returnOperation; }