Example #1
0
        public void RenderTheRightViewWithTheCorrectModel_SearchIngredientViewModelAndNoModelErrorsAndCorrectContent()
        {
            //Arrange
            Guid       ingredientId = Guid.NewGuid();
            Ingredient ingredient   = new Ingredient()
            {
                Id = ingredientId, Name = "IngredientName", PricePerMeasuringUnit = 12.60m, QuantityInMeasuringUnit = 0
            };
            IEnumerable <Ingredient> ingredients = new List <Ingredient>()
            {
                ingredient
            };
            var inredientsServiceMock = new Mock <IIngredientsService>();

            inredientsServiceMock.Setup(x => x.GetAllIngredients()).Returns(ingredients);
            var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>();
            var recipesServiceMock        = new Mock <IRecipesService>();
            var mappingServiceMock        = new Mock <IMappingService>();
            var searchModel = new SearchIngredientViewModel();

            searchModel.Ingredients = ingredients.Select(x => new IngredientViewModel()
            {
                Name = x.Name
            });
            var controller = new IngredientsController(inredientsServiceMock.Object, foodCategoriesServiceMock.Object, recipesServiceMock.Object, mappingServiceMock.Object);

            controller.Index();

            //Act & Assert
            controller.WithCallTo(x => x.Index())
            .ShouldRenderView("Index")
            .WithModel <SearchIngredientViewModel>(
                viewModel => Assert.AreEqual(ingredients.ToList()[0].Name, searchModel.Ingredients.ToList()[0].Name))
            .AndNoModelErrors();
        }
        public ActionResult Index()
        {
            var ingredients = this.ingredientsService.GetAllIngredientsIncludingRecipes()
                              .Select(this.mappingService.Map <IngredientViewModel>)
                              .ToList();

            var searchModel = new SearchIngredientViewModel();

            if (ingredients != null)
            {
                searchModel.Ingredients  = ingredients;
                searchModel.PageSize     = gridPageSize;
                searchModel.TotalRecords = ingredients.Count();
            }

            return(this.View(searchModel));
        }
        public ActionResult Search(string name)
        {
            var ingredients = this.ingredientsService.GetAllIngredientsIncludingRecipes()
                              .Where(x => x.Name.ToLower().Contains(name.ToLower()))
                              .Select(this.mappingService.Map <IngredientViewModel>)
                              .ToList();

            var searchModel = new SearchIngredientViewModel();

            if (ingredients != null)
            {
                searchModel.Ingredients  = ingredients;
                searchModel.PageSize     = gridPageSize;
                searchModel.TotalRecords = ingredients.Count();
            }

            return(this.PartialView("_IngredientsGridPartial", searchModel));
        }