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)); }