Пример #1
0
        public void Debitar_valor_em_conta()
        {
            var debitoCommand = new DebitoCommand(_contaId, _valor);

            var contaRepositorioMock = new Mock <IContaRepositorio>();

            contaRepositorioMock.Setup(c => c.ObterPorId(_contaId)).Returns(_contaFake);

            var contaServico = new MovimentacaoDominioServico(contaRepositorioMock.Object);

            contaServico.Debitar(debitoCommand);

            Assert.Equal(_saldoAntigo.Valor - _valor, _contaFake.Saldo.Valor);
        }
Пример #2
0
        public void Nao_debitar_valor_em_conta_se_saldo_insuficiente()
        {
            _valor = 1200;

            var debitoCommand = new DebitoCommand(_contaId, _valor);

            var contaRepositorioMock = new Mock <IContaRepositorio>();

            contaRepositorioMock.Setup(c => c.ObterPorId(_contaId)).Returns(_contaFake);
            contaRepositorioMock.Setup(c => c.Editar(_contaFake));

            var contaServico = new MovimentacaoDominioServico(contaRepositorioMock.Object);

            contaServico.Debitar(debitoCommand);

            Assert.Equal(_saldoAntigo, _contaFake.Saldo);
        }
Пример #3
0
        public void Transeferir_valor_entre_contas()
        {
            var contaDebitoId             = 1;
            var contaCreditoId            = 2;
            var valor                     = 99.99M;
            var contaDebito               = Fake.CriarConta();
            var saldoAnteriorContaDebito  = contaDebito.Saldo;
            var contaCredito              = Fake.CriarConta();
            var saldoAnteriorContaCredito = contaCredito.Saldo;
            var transferenciaCommand      = new TransferenciaCommand(contaDebitoId, contaCreditoId, valor);

            var contaRepositorioMock = new Mock <IContaRepositorio>();

            contaRepositorioMock.Setup(c => c.ObterPorId(contaDebitoId)).Returns(contaDebito);
            contaRepositorioMock.Setup(c => c.ObterPorId(contaCreditoId)).Returns(contaCredito);

            var contaServico = new MovimentacaoDominioServico(contaRepositorioMock.Object);

            contaServico.Transferir(transferenciaCommand);

            Assert.Equal(saldoAnteriorContaDebito.Valor - valor, contaDebito.Saldo.Valor);
            Assert.Equal(saldoAnteriorContaCredito.Valor + valor, contaCredito.Saldo.Valor);
        }