Ejemplo n.º 1
0
        public void RenderTheRightViewWithTheCorrectModel_SearchFoodCategoryViewModelAndNoModelErrors()
        {
            //Arrange
            IEnumerable <FoodCategory> foodCategories = new List <FoodCategory>();
            var foodCategorieServiceMock = new Mock <IFoodCategoriesService>();

            foodCategorieServiceMock.Setup(x => x.GetAllFoodCategories()).Returns(foodCategories);
            var mappingServiceMock  = new Mock <IMappingService>();
            var foodCategoriesModel = new List <FoodCategoryViewModel>();
            var gridPageSize        = 5;

            foreach (var foodCategory in foodCategories)
            {
                mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodCategory)).Returns(It.IsAny <FoodCategoryViewModel>());
            }

            var controller = new FoodCategoriesController(foodCategorieServiceMock.Object, mappingServiceMock.Object);

            var searchModel = new SearchFoodCategoryViewModel();

            searchModel.FoodCategories = foodCategoriesModel;
            searchModel.PageSize       = gridPageSize;
            searchModel.TotalRecords   = foodCategoriesModel.Count();


            //Act & Assert
            controller.WithCallTo(x => x.Index())
            .ShouldRenderView("Index")
            .WithModel <SearchFoodCategoryViewModel>()
            .AndNoModelErrors();
        }
Ejemplo n.º 2
0
        public void RedirectToActionIndex_WithTheCorrectModel__WhenModelStateIsValid()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);

            AddFoodCategoryViewModel foodCategoryModel = new AddFoodCategoryViewModel();

            foodCategoryModel.Name = "Tomatos";
            var foodcategoryId = Guid.NewGuid();

            foodCategoryModel.FoodType      = FoodType.Cheese;
            foodCategoryModel.MeasuringUnit = MeasuringUnitType.Kg;

            var validationContext = new ValidationContext(foodCategoryModel, null, null);
            var validationResults = new List <ValidationResult>();

            Validator.TryValidateObject(foodCategoryModel, validationContext, validationResults, true);
            foreach (var validationResult in validationResults)
            {
                controller.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage);
            }

            //Act & Assert
            controller.WithCallTo(x => x.AddFoodCategory(foodCategoryModel))
            .ShouldRedirectTo(x => x.Index());
        }
Ejemplo n.º 3
0
        public void RenderTheRightPartialView()
        {
            //Arrange
            IEnumerable <FoodCategory> foodCategories = new List <FoodCategory>();
            var foodCategorieServiceMock = new Mock <IFoodCategoriesService>();

            foodCategorieServiceMock.Setup(x => x.GetAllFoodCategories()).Returns(foodCategories);
            var    mappingServiceMock  = new Mock <IMappingService>();
            var    foodCategoriesModel = new List <FoodCategoryViewModel>();
            var    gridPageSize        = 5;
            string name = "Tomato";

            foreach (var foodCategory in foodCategories)
            {
                mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodCategory)).Returns(It.IsAny <FoodCategoryViewModel>());
            }

            var controller = new FoodCategoriesController(foodCategorieServiceMock.Object, mappingServiceMock.Object);

            var searchModel = new SearchFoodCategoryViewModel();

            searchModel.FoodCategories = foodCategoriesModel;
            searchModel.PageSize       = gridPageSize;
            searchModel.TotalRecords   = foodCategoriesModel.Count();

            //Act & Assert
            controller.WithCallTo(x => x.Search(name)).ShouldRenderPartialView("_FoodCategoriesGridPartial");
        }
Ejemplo n.º 4
0
        public void RedirectToActionIndex_WithTheCorrectModel__WhenModelStateIsValid()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);

            Guid              id            = Guid.NewGuid();
            string            name          = "Tomatos";
            FoodType          foodType      = FoodType.Vegetable;
            MeasuringUnitType measuringUnit = MeasuringUnitType.Kg;

            var foodcategory = new FoodCategory()
            {
                Id            = id,
                Name          = name,
                FoodType      = foodType,
                MeasuringUnit = measuringUnit
            };

            foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory);
            var model = new FoodCategoryViewModel();

            model.Id            = foodcategory.Id;
            model.Name          = foodcategory.Name;
            model.FoodType      = foodcategory.FoodType;
            model.MeasuringUnit = foodcategory.MeasuringUnit;
            mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodcategory)).Returns(model);

            //Act & Assert
            controller.WithCallTo(x => x.EditFoodCategory(model))
            .ShouldRedirectTo(x => x.Index());
        }
Ejemplo n.º 5
0
        public void RenderTheRightView_EditFoodCategory_WhenValidGuidIdIsPassed()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);

            var id            = Guid.NewGuid();
            var name          = "Tomatos";
            var foodType      = FoodType.Vegetable;
            var measuringUnit = MeasuringUnitType.Kg;

            var foodcategory = new FoodCategory()
            {
                Id            = id,
                Name          = name,
                FoodType      = foodType,
                MeasuringUnit = measuringUnit
            };

            foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory);
            var model = new FoodCategoryViewModel();

            model.Id            = foodcategory.Id;
            model.Name          = foodcategory.Name;
            model.FoodType      = foodcategory.FoodType;
            model.MeasuringUnit = foodcategory.MeasuringUnit;
            mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodcategory)).Returns(model);

            //Act & Assert
            controller.WithCallTo(x => x.EditFoodCategory(id))
            .ShouldRenderView("EditFoodCategory")
            .WithModel(model);
        }
        public void RedirectToActionIndex__WhenFoodCategoryIsSuccessfullyDeleted()
        {
            //Arrange
            var               foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var               mappingServiceMock        = new Mock <IMappingService>();
            var               controller    = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);
            var               id            = Guid.NewGuid();
            string            name          = null;
            FoodType          foodType      = FoodType.Vegetable;
            MeasuringUnitType measuringUnit = MeasuringUnitType.Kg;

            var foodcategory = new FoodCategory()
            {
                Id            = id,
                Name          = name,
                FoodType      = foodType,
                MeasuringUnit = measuringUnit
            };

            foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory);
            foodCategoriesServiceMock.Setup(x => x.DeleteFoodCategory(foodcategory));

            //Act & Assert
            controller.WithCallTo(x => x.DeleteFoodCategoryConfirm(id))
            .ShouldRedirectTo(x => x.Index());
        }
        public void Get_return_category_by_name_bad_test()
        {
            FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException);
            var response = controller.Get("Invalid category");

            Assert.AreEqual("BadRequestObjectResult", response.GetType().Name);
        }
        public void Get_return_all_categories_test()
        {
            FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException);
            OkObjectResult           response   = controller.Get() as OkObjectResult;
            var categories = response.Value as FoodsCategoriesResponse;

            Assert.AreEqual(2, categories.FoodCategories.Count);
        }
        public void Get_return_category_by_name_catch_exception()
        {
            FoodCategoriesController controller = GetFoodCategoriesController(throwException);
            var response = controller.Get("Category") as BadRequestObjectResult;
            var message  = response.Value.GetType().Name;

            Assert.AreEqual("Exception", message);
        }
        public void Get_return_category_by_name_ok_test()
        {
            FoodCategoriesController controller    = GetFoodCategoriesController(doNotThrowException);
            OkObjectResult           result        = controller.Get("Food category") as OkObjectResult;
            FoodsCategoriesResponse  responseValue = result.Value as FoodsCategoriesResponse;

            Assert.IsTrue(responseValue.IsValid);
        }
Ejemplo n.º 11
0
        public void RenderTheRightView_AddFoodCategory()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);

            //Act & Assert
            controller.WithCallTo(x => x.AddFoodCategory()).ShouldRenderView("AddFoodCategory");
        }
Ejemplo n.º 12
0
        public void RedirectToErrorPage_When_IdGuidIsNotValid()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);

            //Act & Assert
            controller.WithCallTo(x => x.EditFoodCategory(Guid.Empty))
            .ShouldRenderView("404.html");
        }
        public void Create_bad_test()
        {
            EditedFoodCategory category = new EditedFoodCategory()
            {
                Name = "Category invalid test"
            };
            FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException);
            var response = controller.Create(category).GetType().Name;

            Assert.AreEqual("BadRequestObjectResult", response);
        }
        public void Create_catch_exception()
        {
            EditedFoodCategory category = new EditedFoodCategory()
            {
                Name = "Exception"
            };
            FoodCategoriesController controller = GetFoodCategoriesController(throwException);
            var response = controller.Create(category) as BadRequestObjectResult;
            var message  = response.Value.GetType().Name;

            Assert.AreEqual("Exception", message);
        }
        public void RenderTheRightView_DeleteFoodCategory__WhenFoodCategoryWasNotFoundInDatabase()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);
            var id         = Guid.NewGuid();

            foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns <FoodCategory>(null);

            //Act & Assert
            controller.WithCallTo(x => x.DeleteFoodCategory(id))
            .ShouldRenderView("DeleteFoodCategory");
        }
Ejemplo n.º 16
0
        public void RenderTheRightPartialViewWithTheCorrectModel_SearchFoodCategoryViewModelAndNoModelErrorsAndCorrectContent()
        {
            //Arrange
            IEnumerable <FoodCategory> foodCategories = new List <FoodCategory>()
            {
                new FoodCategory()
                {
                    Name = "tomato"
                }
            };
            var    gridPageSize             = 5;
            string name                     = "Tomato";
            var    foodCategorieServiceMock = new Mock <IFoodCategoriesService>();

            foodCategorieServiceMock.Setup(x => x.GetAllFoodCategories()).Returns(foodCategories);
            var mappingServiceMock  = new Mock <IMappingService>();
            var foodCategoriesModel = new List <FoodCategoryViewModel>()
            {
                new FoodCategoryViewModel()
                {
                    Name = name
                }
            };

            foreach (var foodCategory in foodCategories)
            {
                mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodCategory))
                .Returns(It.IsAny <FoodCategoryViewModel>());
            }

            var controller = new FoodCategoriesController(foodCategorieServiceMock.Object, mappingServiceMock.Object);

            var searchModel = new SearchFoodCategoryViewModel();

            searchModel.FoodCategories = foodCategoriesModel;
            searchModel.PageSize       = gridPageSize;
            searchModel.TotalRecords   = foodCategoriesModel.Count();

            //Act & Assert
            controller.WithCallTo(x => x.Search(name))
            .ShouldRenderPartialView("_FoodCategoriesGridPartial")
            .WithModel <SearchFoodCategoryViewModel>(
                viewModel => Assert.AreEqual(foodCategoriesModel.ToList()[0].Name, searchModel.FoodCategories.ToList()[0].Name))
            .AndNoModelErrors();
        }
Ejemplo n.º 17
0
        public void RenderTheRightView_EditFoodCategory_WithTheCorrectModel_FoodCategoryViewModel_WhenModelStateIsNotValid()
        {
            //Arrange
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object);

            Guid              id            = Guid.NewGuid();
            string            name          = null;
            FoodType          foodType      = FoodType.Vegetable;
            MeasuringUnitType measuringUnit = MeasuringUnitType.Kg;

            var foodcategory = new FoodCategory()
            {
                Id            = id,
                Name          = name,
                FoodType      = foodType,
                MeasuringUnit = measuringUnit
            };

            foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory);
            var model = new FoodCategoryViewModel();

            model.Id            = foodcategory.Id;
            model.Name          = foodcategory.Name;
            model.FoodType      = foodcategory.FoodType;
            model.MeasuringUnit = foodcategory.MeasuringUnit;
            mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodcategory)).Returns(model);

            var validationContext = new ValidationContext(model, null, null);
            var validationResults = new List <ValidationResult>();

            Validator.TryValidateObject(model, validationContext, validationResults, true);
            foreach (var validationResult in validationResults)
            {
                controller.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage);
            }

            //Act & Assert
            controller.WithCallTo(x => x.EditFoodCategory(model))
            .ShouldRenderView("EditFoodCategory")
            .WithModel <FoodCategoryViewModel>()
            .AndModelError("Name");
        }