Ejemplo n.º 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);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 6
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);
        }