Exemple #1
0
        public async Task TransacaoComMesmaConta()
        {
            var transacaoRepository = new TransacaoRepositoryMock();
            var contaRepository     = new ContaRepositoryMock();

            var controller = new TransacaoController(transacaoRepository, contaRepository);

            var transacao   = new TransacaoDTO();
            var ContaOrigem = new ContaDTO();

            ContaOrigem.Ativa      = true;
            ContaOrigem.Numero     = "0002";
            transacao.ContaDestino = ContaOrigem;
            transacao.ContaOrigem  = ContaOrigem;

            transacao.Valor = 40.00m;

            var createResult = await controller.CriarTransacaoAsync(transacao);

            Assert.IsType <BadRequestObjectResult>(createResult);

            var badRequestResult = createResult as BadRequestObjectResult;

            Assert.Equal(400, badRequestResult.StatusCode);
            Assert.IsType <string>(badRequestResult.Value);
            Assert.Equal("Conta destino deve ser diferente da origem", badRequestResult.Value);
        }
Exemple #2
0
        public async Task TransacaoEfetuadaComSUcesso()
        {
            var transacaoRepository = new TransacaoRepositoryMock();
            var contaRepository     = new ContaRepositoryMock();

            var controller = new TransacaoController(transacaoRepository, contaRepository);

            var transacao   = new TransacaoDTO();
            var ContaOrigem = new ContaDTO();

            ContaOrigem.Ativa     = true;
            ContaOrigem.Numero    = "0001";
            transacao.ContaOrigem = ContaOrigem;

            var ContaDestino = new ContaDTO();

            ContaDestino.Ativa     = true;
            ContaDestino.Numero    = "0002";
            transacao.ContaDestino = ContaDestino;

            transacao.Valor = 10.0m;

            var createResult = await controller.CriarTransacaoAsync(transacao);

            Assert.IsType <OkObjectResult>(createResult);
            var okResult = createResult as OkObjectResult;

            Assert.Equal(200, okResult.StatusCode);
        }
Exemple #3
0
        public async Task TransacaoContaOrigemNula()
        {
            var transacaoRepository = new TransacaoRepositoryMock();
            var contaRepository     = new ContaRepositoryMock();

            var controller = new TransacaoController(transacaoRepository, contaRepository);

            var transacao = new TransacaoDTO();

            transacao.ContaOrigem = null;

            var contaDestino = new ContaDTO();

            contaDestino.Ativa     = true;
            contaDestino.Numero    = "0002";
            transacao.ContaDestino = contaDestino;
            transacao.Valor        = 40.00m;

            var createResult = await controller.CriarTransacaoAsync(transacao);

            Assert.IsType <BadRequestObjectResult>(createResult);

            var badRequestResult = createResult as BadRequestObjectResult;

            Assert.Equal(400, badRequestResult.StatusCode);
            Assert.IsType <string>(badRequestResult.Value);
            Assert.Equal("Conta origem nula", badRequestResult.Value);
        }
Exemple #4
0
        public async Task TransacaoValorExcedido()
        {
            var transacaoRepository = new TransacaoRepositoryMock();
            var contaRepository     = new ContaRepositoryMock();

            var controller = new TransacaoController(transacaoRepository, contaRepository);

            var transacao   = new TransacaoDTO();
            var ContaOrigem = new ContaDTO();

            ContaOrigem.Ativa     = true;
            ContaOrigem.Numero    = "0001";
            transacao.ContaOrigem = ContaOrigem;

            var ContaDestino = new ContaDTO();

            ContaDestino.Ativa     = true;
            ContaDestino.Numero    = "0002";
            transacao.ContaDestino = ContaDestino;

            transacao.Valor = 200.00m;

            var createResult = await controller.CriarTransacaoAsync(transacao);

            Assert.IsType <BadRequestObjectResult>(createResult);

            var badRequestResult = createResult as BadRequestObjectResult;

            Assert.Equal(400, badRequestResult.StatusCode);
            Assert.IsType <string>(badRequestResult.Value);
            Assert.Equal("Valor excede o total da conta", badRequestResult.Value);
        }
Exemple #5
0
        public async Task TransacaoContaInexistente()
        {
            var transacaoRepository = new TransacaoRepositoryMock();
            var contaRepository     = new ContaRepositoryMock();

            var controller = new TransacaoController(transacaoRepository, contaRepository);

            var transacao   = new TransacaoDTO();
            var ContaOrigem = new ContaDTO();

            ContaOrigem.Ativa     = true;
            ContaOrigem.Numero    = "0003";// só existe 0001 e 0002
            transacao.ContaOrigem = ContaOrigem;

            var ContaDestino = new ContaDTO();

            ContaDestino.Ativa     = true;
            ContaDestino.Numero    = "0004";// só existe 0001 e 0002
            transacao.ContaDestino = ContaDestino;

            transacao.Valor = 40.00m;

            var createResult = await controller.CriarTransacaoAsync(transacao);

            Assert.IsType <BadRequestObjectResult>(createResult);

            var badRequestResult = createResult as BadRequestObjectResult;

            Assert.Equal(400, badRequestResult.StatusCode);
            Assert.IsType <string>(badRequestResult.Value);
            Assert.Equal("Conta inválida", badRequestResult.Value);
        }
Exemple #6
0
        public void CarregaTransacaoFalha()
        {
            var _transacaoController = new TransacaoController(_transacaoBusiness);

            Guid tokenLoja = Guid.Parse("3B462321-72C7-4F72-B10A-4DCB00AA177A");

            _transacaoController.Get(tokenLoja);

            Assert.AreEqual(30, 10);
        }
Exemple #7
0
        public void Deve_invocar_use_case_para_efetuar_debito_em_conta_corrente_quando_pagamento()
        {
            var efetuarCreditoUseCaseMock = MockEfetuarCreditoUseCase();
            var efetuarDebitoUseCaseMock  = MockEfetuarDebitoUseCase();

            var sut = new TransacaoController
                      (
                efetuarCreditoUseCaseMock.Object,
                efetuarDebitoUseCaseMock.Object
                      );

            sut.PostEfetuarPagamentoConta(_request);
            efetuarDebitoUseCaseMock.Verify(x => x.Execute(It.IsAny <TransacaoDto>()), Times.Once);
        }
Exemple #8
0
        public async Task CriarTransacaoNula()
        {
            var transacaoRepository = new TransacaoRepositoryMock();
            var contaRepository     = new ContaRepositoryMock();

            var controller = new TransacaoController(transacaoRepository, contaRepository);

            var createResult = await controller.CriarTransacaoAsync(null);

            Assert.IsType <BadRequestObjectResult>(createResult);

            var badRequestResult = createResult as BadRequestObjectResult;

            Assert.Equal(400, badRequestResult.StatusCode);
            Assert.IsType <string>(badRequestResult.Value);
            Assert.Equal("Transação nula", badRequestResult.Value);
        }
Exemple #9
0
 public TransacaoControllerTest()
 {
     transacaoServiceMock = new Mock <ITransacaoService>();
     ControllerUnderTest  = new TransacaoController(transacaoServiceMock.Object);
 }