コード例 #1
0
        public void QuandoExcecaoForLancadaDeveRetornarStatusCode400()
        {
            //arrange
            var mockConta = new Mock <IContaRepository>();

            mockConta.Setup(r => r.Incluir(It.IsAny <Conta[]>())).Throws(new Exception("Houve um erro"));

            var repoConta = mockConta.Object;

            var mockTransf = new Mock <ITransferenciaRepository>().Object;

            var transService = new TransacoesService(mockTransf, repoConta);

            var contaService = new ContaService(repoConta);

            var controlador = new ContasController(contaService, transService);

            var model = new ContaApi();

            model.Name        = "Bruno";
            model.Description = "Daldegan";
            model.Status      = "ACTIVE";
            model.Idenfifier  = "65432";

            //act
            var retorno = controlador.Incluir(model);

            //assert
            Assert.IsType <BadRequestObjectResult>(retorno);

            var statusCodeRetornado = (retorno as BadRequestObjectResult).StatusCode;

            Assert.Equal(400, statusCodeRetornado);
        }
コード例 #2
0
        public void AoCadastrarContaApiDeveRetornar201()
        {
            //arrange
            var options = new DbContextOptionsBuilder <SocialContext>()
                          .UseInMemoryDatabase("SocialContext")
                          .Options;

            var contexto = new SocialContext(options);

            var repoConta  = new ContaRepository(contexto);
            var repoTransf = new TransferenciaRepository(contexto);

            var contaService      = new ContaService(repoConta);
            var transacoesService = new TransacoesService(repoTransf, repoConta);

            var controlador = new ContasController(contaService, transacoesService);

            var model = new ContaApi
            {
                Name        = "Bruno",
                Description = "Daldegan",
                Status      = "ACTIVE",
                Idenfifier  = "65432"
            };

            //act
            var retorno = controlador.Incluir(model);

            Assert.IsType <CreatedResult>(retorno); //201
        }
コード例 #3
0
        public async Task <IActionResult> ExcluirTransacao([FromRoute] int Id)
        {
            if (!ModelState.IsValid)
            {
                TempData["Mensagem"] = ModelState;
                TempData["Alerta"]   = true;
                TempData["Classe"]   = "atencao";
                return(RedirectToAction("Index"));
            }
            else
            {
                try
                {
                    TransacoesService service  = new TransacoesService();
                    string            response = await service.Delete(Id);

                    TempData["Mensagem"] = response;
                    TempData["Alerta"]   = true;
                    TempData["Classe"]   = "sucesso";
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    TempData["Mensagem"] = ex.Message;
                    TempData["Alerta"]   = true;
                    TempData["Classe"]   = "atencao";
                    return(RedirectToAction("Index"));
                }
            }
        }
コード例 #4
0
        public async Task <IActionResult> AddTransacao(TransacaoDTO transacao)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else
            {
                try
                {
                    TransacoesService service  = new TransacoesService();
                    string            response = await service.Post(transacao);

                    TempData["Mensagem"] = response;
                    TempData["Alerta"]   = true;
                    TempData["Classe"]   = "sucesso";
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    TempData["Mensagem"] = ex.Message;
                    TempData["Alerta"]   = true;
                    TempData["Classe"]   = "atencao";
                    return(RedirectToAction("Index"));
                }
            }
        }
コード例 #5
0
 public async Task GetTransacoes()
 {
     try
     {
         TransacoesService service = new TransacoesService();
         Transacoes = await service.Get(Filtros);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }