コード例 #1
0
        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();
        }
コード例 #2
0
        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++;
            }
        }