public void Nao_Devo_Conseguir_Obtem_Um_Extrato_Sem_Nenhum_Caixa_Aberto() { var repositorioCaixa = new Mock <ICaixaRepositorio>(); repositorioCaixa.Setup(r => r.ObterUltimoCaixaAberto()) .Returns <Caixa>(null); IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixa.Object); fachada.ObterExtrato(); }
public void Devo_Conseguir_Obter_Um_Extrato_Do_Caixa() { IList <LancamentoCaixa> lancamentos = new List <LancamentoCaixa>(); lancamentos.Add(new LancamentoCaixa("SALDO DE ABERTURA", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 130)); lancamentos.Add(new LancamentoCaixa("SANGRIA", TipoMovimentacaoLancamentoCaixa.Saida, TipoPagamentoLancamentoCaixa.Dinheiro, 30)); lancamentos.Add(new LancamentoCaixa("REFORÇO", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 150)); lancamentos.Add(new LancamentoCaixa("REFORÇO", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 200)); var caixa = new Mock <Caixa>(); caixa.Setup(c => c.EstaAberto).Returns(true); caixa.SetupGet(c => c.Lancamentos).Returns(lancamentos); var repositorioCaixa = new Mock <ICaixaRepositorio>(); repositorioCaixa.Setup(r => r.ObterUltimoCaixaAberto()) .Returns(caixa.Object); IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixa.Object); IEnumerable <DTOLancamentoCaixa> extrato = fachada.ObterExtrato(); int contador = 0; foreach (DTOLancamentoCaixa dto in extrato) { switch (contador) { case 0: Assert.AreEqual("SALDO DE ABERTURA", dto.Descricao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, dto.TipoPagamento); Assert.AreEqual(130m, dto.Valor); break; case 1: Assert.AreEqual("SANGRIA", dto.Descricao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, dto.TipoPagamento); Assert.AreEqual(-30m, dto.Valor); break; case 2: Assert.AreEqual("REFORÇO", dto.Descricao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, dto.TipoPagamento); Assert.AreEqual(150m, dto.Valor); break; case 3: Assert.AreEqual("REFORÇO", dto.Descricao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, dto.TipoPagamento); Assert.AreEqual(200m, dto.Valor); break; } contador++; } }