예제 #1
0
        public void Nao_Devo_Efetuar_Uma_Sangria_Sem_Nenhum_Caixa_Aberto()
        {
            var repositorioCaixa = new Mock <ICaixaRepositorio>();

            repositorioCaixa.Setup(r => r.ObterUltimoCaixaAberto())
            .Returns <Caixa>(null);

            IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixa.Object);

            fachada.EfetuarSangria(100);
        }
예제 #2
0
        public void Devo_Conseguir_Efetuar_Uma_Sangria()
        {
            var caixa = new Mock <Caixa>();

            caixa.Setup(c => c.EstaAberto).Returns(true);
            caixa.Setup(c => c.EfetuarSangria(It.IsAny <Decimal>()));

            var repositorioCaixa = new Mock <ICaixaRepositorio>();

            repositorioCaixa.Setup(r => r.ObterUltimoCaixaAberto())
            .Returns(caixa.Object);


            IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixa.Object);

            Assert.IsTrue(fachada.EfetuarSangria(100));
            caixa.Verify(c => c.EfetuarSangria(It.IsAny <Decimal>()));
            repositorioCaixa.Verify(r => r.Salvar(caixa.Object));
        }