public void Post_Categoria_AddValidData_Return_CreatedResult()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);

            var cat = new CategoriaDTO()
            {
                Nome = "Teste Unitario 1", ImagemUrl = "testecat.jpg"
            };

            //Act
            var data = controller.Post(cat);

            //Assert
            Assert.IsType <CreatedAtRouteResult>(data);
        }
        public void Post_Categoria_Add_InvalidData_Return_BadRequest()
        {
            //Arrange
            var controller = new CategoriaController(repositorio, mapper);

            var cat = new CategoriaDTO()
            {
                Nome = "Teste Unitario dados invalidos de nome muito " +
                       "loooooooooooooooooonnnnnnnnnnngggggggggggggggggggoooooooooooooo"
                ,
                ImagemUrl = "testecat.jpg"
            };

            //Act
            var data = controller.Post(cat);

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

            var cat = new CategoriaDTO()
            {
                Nome = "Teste Unitario 1", ImagemUrl = "testecat.jpg"
            };

            //Act
            var data = controller.Post(cat);

            //Assert
            Assert.IsType <CreatedAtRouteResult>(data);

            var okResult = data.Should().BeOfType <CreatedAtRouteResult>().Subject;
            var result   = okResult.Value.Should().BeAssignableTo <CategoriaDTO>().Subject;

            Assert.Equal(3, okResult.Value);
        }