Ejemplo n.º 1
0
        public void Deve_gerar_excecao_ao_efetuar_debito_em_uma_conta_corrente_nao_existente()
        {
            var transacaoRepositoryMock = MockTransacaoRepository();
            var contaRepositoryMock     = MockContaRepository(null);

            var sut = new EfetuarDebitoUseCase
                      (
                transacaoRepositoryMock.Object,
                contaRepositoryMock.Object
                      );

            Action aceitarAction = () => sut.Execute(_requestMock);

            aceitarAction.Should().Throw <Exception>().WithMessage("Conta não encontrada.");
        }
Ejemplo n.º 2
0
        public void Deve_efetuar_debito_na_conta_corrente()
        {
            var transacaoRepositoryMock = MockTransacaoRepository();
            var contaRepositoryMock     = MockContaRepository(_contaMock);

            var sut = new EfetuarDebitoUseCase
                      (
                transacaoRepositoryMock.Object,
                contaRepositoryMock.Object
                      );

            sut.Execute(_requestMock);
            contaRepositoryMock.Verify(x => x.ObterPorId(1), Times.Once);
            contaRepositoryMock.Verify(x => x.Update(It.IsAny <Conta>()), Times.Once);
            transacaoRepositoryMock.Verify(x => x.Add(It.IsAny <Transacao>()), Times.Once());
        }
Ejemplo n.º 3
0
        public void Deve_gerar_excecao_ao_efetuar_debito_em_uma_conta_corrente_com_saldo_insuficiente()
        {
            var resquest = new TransacaoDto
            {
                IdConta   = 1,
                Valor     = 150,
                Descricao = "Retirada",
                Tipo      = TipoTransacao.Retirada
            };

            var transacaoRepositoryMock = MockTransacaoRepository();
            var contaRepositoryMock     = MockContaRepository(_contaMock);

            var sut = new EfetuarDebitoUseCase
                      (
                transacaoRepositoryMock.Object,
                contaRepositoryMock.Object
                      );

            Action aceitarAction = () => sut.Execute(resquest);

            aceitarAction.Should().Throw <Exception>().WithMessage("Saldo da conta insuficiente.");
        }