コード例 #1
0
        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, "Estudo"));
            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(2019, 12, 31);

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

            //assert
            Assert.IsType <OkResult>(retorno); //200
        }
コード例 #2
0
        public void QuandoExcecaoForLancadaDeveRetornarStatusCode500()
        {
            //arrange
            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();

            var mock = new Mock <IRepositorioTarefas>();

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

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

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

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

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

            Assert.Equal(500, statusCodeRetornado);
        }
コード例 #3
0
        public void DadaTarefaComInformacoesValidasRetornaOkResult()
        {
            //Given
            var moqLogger = new Mock<ILogger<CadastraTarefaHandler>>();

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

            var context = new DbTarefasContext(options);
            var repo = new RepositorioTarefa(context);

            var controlador = new TarefasController(repo, moqLogger.Object);
            var model = new CadastraTarefaVM()
            {
                IdCategoria = 20,
                Titulo = "Estudar Xunit",
                Prazo = new DateTime(2019, 31, 12)
            };

            //When
            context.Categorias.Add(new Categoria(20, "Estudo"));
            context.SaveChanges();

            var resultado = controlador.EndpointCadastraTarefa(model);

            //Then
            // HTTP Status 200
            Assert.IsType<OkResult>(resultado);
        }
コード例 #4
0
        public void QuandoExcecaoForLancadaDeveRetornarStatusCode500()
        {
            //Given
            var moqLogger = new Mock<ILogger<CadastraTarefaHandler>>();

            var moq = new Mock<IRepositorioTarefas>();
            // Stub
            moq.Setup(x => x.ObtemCategoriaPorId(20)).Returns(new Categoria(20, "Estudo"));
            moq.Setup(x => x.IncluirTarefas(It.IsAny<Tarefa[]>())).Throws(new Exception("Erro"));

            var repo = moq.Object;

            var controlador = new TarefasController(repo, moqLogger.Object);
            var model = new CadastraTarefaVM()
            {
                IdCategoria = 20,
                Titulo = "Estudar Xunit",
                Prazo = new DateTime(2019, 31, 12)
            };
            
            //When
            var resultado = controlador.EndpointCadastraTarefa(model);

            //Then
            // HTTP Status 500
            Assert.IsType<StatusCodeResult>(resultado);
            
            var statuscode = (resultado as StatusCodeResult).StatusCode;
            Assert.Equal(500, statuscode);
        }
コード例 #5
0
        public void QuandoExcecaoForRetornadoAoCadastrarTarefaDeveRetornar500()
        {
            // arrange
            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();

            var mock = new Mock <IRepositorioTarefas>();

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

            TarefasController controlador = new TarefasController(repo, mockLogger.Object);
            CadastraTarefaVM  modelo      = new CadastraTarefaVM();

            modelo.Titulo      = "Fazer alguma coisa";
            modelo.IdCategoria = 20;
            modelo.Prazo       = DateTime.Now;

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

            // assert
            var statusCodeEsperado = 500;

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

            Assert.Equal(statusCodeEsperado, statusCodeRetornado);
        }
コード例 #6
0
        public void DadaTarefaComInformacoesValidasDeveCadastrarERetornarOk()
        {
            // 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, "Categoria teste"));
            contexto.SaveChanges();

            var repo = new RepositorioTarefa(contexto);

            TarefasController controlador = new TarefasController(repo, mockLogger.Object);
            CadastraTarefaVM  modelo      = new CadastraTarefaVM();

            modelo.Titulo      = "Fazer alguma coisa";
            modelo.IdCategoria = 20;
            modelo.Prazo       = DateTime.Now;

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

            // assert
            Assert.IsType <OkResult>(retorno);
        }
コード例 #7
0
        public void DadaTarefa()
        {
            //Arrange
            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();
            var mock       = new Mock <IRepositorioTarefas>();

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

            var controller = new TarefasController(mock.Object, mockLogger.Object);
            var model      = new CadastraTarefaVM();

            model.IdCategoria = 20;
            model.Titulo      = "Estudar xUnit";
            model.Prazo       = new DateTime(2020, 3, 30);

            //Act
            var retorno = controller.EndpointCadastraTarefa(model);

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

            Assert.Equal(500, statusCodeResult);
        }
コード例 #8
0
        public void DeveDevolverBadRequestAoListarTarefasComUmIdInvalidoDeAlunoOuTarefa()
        {
            var controller = new TarefasController(null, null, null);

            var retorno = controller.PorId(0, 0);

            Assert.IsInstanceOf <BadRequestErrorMessageResult>(retorno);
            Assert.That(((BadRequestErrorMessageResult)retorno).Message,
                        Is.EqualTo("É necessário informar o aluno e a tarefa."));
        }
コード例 #9
0
        public void DeveDevolverBadRequestAoListarTarefasComUmIdInvalidoDeProfessor()
        {
            var controller = new TarefasController(null, null, null);

            var retorno = controller.Listar(0);

            Assert.IsInstanceOf <BadRequestErrorMessageResult>(retorno);
            Assert.That(((BadRequestErrorMessageResult)retorno).Message,
                        Is.EqualTo("É necessário informar um professor."));
        }
コード例 #10
0
        public void DeveDevolverNotFoundAoListarTarefasComUmIdInexistenteDeProfessor()
        {
            var tarefas = Substitute.For <Tarefas>((ISession)null);

            tarefas.PorProfessor(1).Returns(new List <Tarefa>());

            var controller = new TarefasController(tarefas, null, null);

            var retorno = controller.Listar(1);

            Assert.IsInstanceOf <NotFoundResult>(retorno);
        }
コード例 #11
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);
        }