public void QuandoExcecaoForLancadaDeveRetornarStatusCode500()
        {
            //arrange
            var MockLogger = new Mock <ILogger <CadastraTarefaHandler> >();

            var mockRepo = new Mock <IRepositorioTarefas>();

            mockRepo.Setup(r => r.ObtemCategoriaPorId(20)).Returns(new Categoria(20, "Estudo"));
            mockRepo.Setup(r => r.IncluirTarefas(It.IsAny <Tarefa[]>())).Throws(new Exception("Houve um erro"));

            var repo = mockRepo.Object;

            var controlador = new TarefasController(repo, MockLogger.Object);
            var model       = new CadastraTarefaVM();

            model.IdCategoria = 20;
            model.Titulo      = "Estudar  Xunit";
            model.Prazo       = new DateTime(2020, 12, 31);

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

            //assert
            Assert.IsType <StatusCodeResult>(retorno);
            var statusCodeRetornado = (retorno as StatusCodeResult).StatusCode;

            Assert.Equal(500, statusCodeRetornado);
        }
        public void DadaTarefaComInformacoesValidasDeveRetornar200()
        {
            //arrange
            var MockLogger = new Mock <ILogger <CadastraTarefaHandler> >();

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;
            var contexto = new DbTarefasContext(options);

            contexto.Categorias.Add(new Categoria(20, "Estudar"));
            contexto.SaveChanges();

            var repo = new RepositorioTarefa(contexto);

            var controlador = new TarefasController(repo, MockLogger.Object);
            var model       = new CadastraTarefaVM();

            model.IdCategoria = 20;
            model.Titulo      = "Estudar  Xunit";
            model.Prazo       = new DateTime(2020, 12, 31);

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

            //assert
            Assert.IsType <OkResult>(retorno);
        }
        public IActionResult EndpointCadastraTarefa(CadastraTarefaVM model)
        {
            var cmdObtemCateg = new ObtemCategoriaPorId(model.IdCategoria);
            var categoria     = new ObtemCategoriaPorIdHandler().Execute(cmdObtemCateg);

            if (categoria == null)
            {
                return(NotFound("Categoria não encontrada"));
            }

            var comando = new CadastraTarefa(model.Titulo, categoria, model.Prazo);
            var handler = new CadastraTarefaHandler();

            handler.Execute(comando);
            return(Ok());
        }
Пример #4
0
        public IActionResult EndpointCadastraTarefa(CadastraTarefaVM model)
        {
            var cmdObtemCateg = new ObtemCategoriaPorId(model.IdCategoria);
            var categoria     = new ObtemCategoriaPorIdHandler(repositorioTarefas).Execute(cmdObtemCateg);

            if (categoria == null)
            {
                return(NotFound("Categoria não encontrada"));
            }

            var comando = new CadastraTarefa(model.Titulo, categoria, model.Prazo);
            var handler = new CadastraTarefaHandler(repositorioTarefas, logger);
            var retorno = handler.Execute(comando);

            if (retorno.IsSuccess)
            {
                return(Ok());
            }
            return(StatusCode(500));
        }
Пример #5
0
        public IActionResult EndpointCadastraTarefa(CadastraTarefaVM model)
        {
            var cmdObtemCateg = new ObtemCategoriaPorId(model.IdCategoria);
            var categoria     = new ObtemCategoriaPorIdHandler(_repo).Execute(cmdObtemCateg);

            if (categoria == null)
            {
                return(NotFound("Categoria não encontrada"));
            }

            var comando = new CadastraTarefa(model.Titulo, categoria, model.Prazo);
            var handler = new CadastraTarefaHandler(_repo, _logger);
            //var handler = new CadastraTarefaHandler(new RepositorioTarefa(new DbTarefasContext()), new LoggerFactory().CreateLogger<CadastraTarefaHandler>());
            var resultado = handler.Execute(comando);

            if (resultado.IsSuccess)
            {
                return(Ok());
            }

            return(StatusCode(500));
        }
Пример #6
0
        public void Teste()
        {
            //arrange
            int CategoriaId            = 20;
            var mockRepositorioTarefas = new Mock <IRepositorioTarefas>();

            mockRepositorioTarefas.Setup(r => r.ObtemCategoriaPorId(20)).Returns(new Categoria(CategoriaId, "Estudo"));
            mockRepositorioTarefas.Setup(r => r.IncluirTarefas(It.IsAny <Tarefa[]>())).Throws(new Exception("Houve um erro."));
            var mockLogger  = new Mock <ILogger <CadastraTarefaHandler> >();
            var controlador = new TarefasController(mockRepositorioTarefas.Object, mockLogger.Object);
            var model       = new CadastraTarefaVM
            {
                IdCategoria = CategoriaId,
                Prazo       = new DateTime(2019, 12, 31),
                Titulo      = "Estudar XUnit"
            };

            //action
            var retorno = controlador.EndpointCadastraTarefa(model);

            //assert
            Assert.IsType <StatusCodeResult>(retorno);
            Assert.Equal(500, (retorno as StatusCodeResult).StatusCode);
        }
Пример #7
0
        public void DadaTarefaComInfoValidasDeveRetornar200()
        {
            //arrange
            var options = new DbContextOptionsBuilder <DbTarefasContext>().UseInMemoryDatabase("DbTarefas").Options;
            var context = new DbTarefasContext(options);

            context.Categorias.Add(new Categoria(20, "Estudo"));
            context.SaveChanges();
            var repositorioTarefas = new RepositorioTarefas(context);
            var mockLogger         = new Mock <ILogger <CadastraTarefaHandler> >();
            var controlador        = new TarefasController(repositorioTarefas, mockLogger.Object);
            var model = new CadastraTarefaVM
            {
                IdCategoria = 20,
                Prazo       = new DateTime(2019, 12, 31),
                Titulo      = "Estudar XUnit"
            };

            //action
            var retorno = controlador.EndpointCadastraTarefa(model);

            //assert
            Assert.IsType <OkResult>(retorno); //statu code - 200
        }