public void RemoverCategoria()
        {
            var controller = new CategoriaController(CategoriaRepositoryFake.Create());

            controller.Delete(3);

            var categoria = controller.Get(3);

            Assert.IsTrue(categoria == null);
        }
        public void GetCategorias_Return_OkResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);

            //Act
            var data = controller.Get();

            //Assert
            Assert.IsType <List <CategoriaDTO> >(data.Value);
        }
        public void GetCategoriaById_Return_BadRequestResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);
            //int catId = null;

            //Act
            var data = controller.Get();

            //Assert
            Assert.IsType <BadRequestResult>(data.Result);
        }
        public void GetCategoriaById_Return_NotFoundResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);
            var catId      = 9999;

            //Act
            var data = controller.Get(catId);

            //Assert
            Assert.IsType <NotFoundResult>(data.Result);
        }
        public void BuscarTodasCategorias()
        {
            // Arrange
            var controller = new CategoriaController(GetMock().Object);

            // Action
            var resutado = controller.Get();
            var esperado = 3;
            var atual    = resutado.Count();

            // Asset
            Assert.AreEqual(esperado, atual, "jakldjaklsdjkljakldja ");
        }
        public void GetCategoriaById_Return_OkResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);
            var catId      = 2;

            //Act
            var data = controller.Get(catId);

            Console.WriteLine(data);

            //Assert
            Assert.IsType <CategoriaDTO>(data.Value);
        }
        public void GetCategoriaById_MatchResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);
            int catId      = 1;

            //Act
            var data = controller.Get(catId);

            //Assert
            Assert.IsType <CategoriaDTO>(data.Value);
            var cat = data.Value.Should().BeAssignableTo <CategoriaDTO>().Subject;

            Assert.Equal("Bebidas alterada", cat.Nome);
            Assert.Equal("bebidas21.jpg", cat.ImagemUrl);
        }
        public void GetCategorias_MatchResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);

            //Act
            var data = controller.Get();

            //Assert
            Assert.IsType <List <CategoriaDTO> >(data.Value);
            var cat = data.Value.Should().BeAssignableTo <List <CategoriaDTO> >().Subject;

            Assert.Equal("Bebidas alterada", cat[0].Nome);
            Assert.Equal("bebidas21.jpg", cat[0].ImagemUrl);

            Assert.Equal("Lanches", cat[1].Nome);
            Assert.Equal("lanches.jpg", cat[1].ImagemUrl);
        }
        public void Put_Categoria_Update_InvalidData_Return_BadRequest()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);
            var catId      = 1000;

            //Act
            var existingPost = controller.Get(catId);
            //var okResult = existingPost.Should().BeOfType<CategoriaDTO>().Subject;
            var result = existingPost.Value.Should().BeAssignableTo <CategoriaDTO>().Subject;
            //var result = okResult.Should().BeAssignableTo<CategoriaDTO>().Subject;

            var catDto = new CategoriaDTO();

            catDto.CategoriaId = result.CategoriaId;
            catDto.Nome        = "Categoria Atualizada - Testes 1 com nome muiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiitttttttttttttttttttttttttttttttttooooooooooooooo looooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnngo";
            catDto.ImagemUrl   = result.ImagemUrl;

            var data = controller.Put(catId, catDto);

            //Assert
            Assert.IsType <BadRequestResult>(data);
        }
        public void Put_Categoria_Update_ValidData_Return_OkResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);
            var catId      = 2;

            //Act
            var existingPost = controller.Get(catId);
            //var okResult = existingPost.Should().BeOfType<CategoriaDTO>().Subject;
            var result = existingPost.Value.Should().BeAssignableTo <CategoriaDTO>().Subject;
            //var result = okResult.Should().BeAssignableTo<CategoriaDTO>().Subject;

            var catDto = new CategoriaDTO();

            catDto.CategoriaId = catId;
            catDto.Nome        = "Categoria Atualizada - Testes 1";
            catDto.ImagemUrl   = result.ImagemUrl;

            var updatedData = controller.Put(catId, catDto);

            //Assert
            Assert.IsType <OkResult>(updatedData);
        }