public void RedirectToActionIndex_WithTheCorrectModel__WhenModelStateIsValid() { //Arrange var dailyMenusServiceMock = new Mock <IDailyMenuService>(); var recipesServiceMock = new Mock <IRecipesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new DailyMenusController(recipesServiceMock.Object, dailyMenusServiceMock.Object, mappingServiceMock.Object); Guid id = Guid.NewGuid(); DateTime date = DateTime.Today; DayOfWeek dayOfWeek = date.DayOfWeek; var recipeId = Guid.Empty; var recipesIds = new List <Guid>() { recipeId }; DailyMenu dailyMenu = new DailyMenu() { Id = id, Date = date, DayOfWeek = dayOfWeek }; DailyMenuViewModel dailyMenuViewModel = new DailyMenuViewModel() { Id = dailyMenu.Id, Date = dailyMenu.Date, DayOfWeek = dailyMenu.DayOfWeek }; var selectedMenu = dailyMenuViewModel; var allMenus = new AddDailyMenuViewModel(); var dailyMenus = new List <DailyMenu>(); dailyMenusServiceMock.Setup(x => x.GetDailyMenuById(id)).Returns(dailyMenu); dailyMenusServiceMock.Setup(x => x.GetAllDailyMenus()).Returns(dailyMenus); mappingServiceMock.Setup(x => x.Map <DailyMenuViewModel>(dailyMenu)).Returns(dailyMenuViewModel); mappingServiceMock.Setup(x => x.Map <AddDailyMenuViewModel>(dailyMenus)).Returns(allMenus); var model = new EditDailyMenuViewModel() { Id = id, SelectedDate = DateTime.Today, SelectedDailyMenuViewModel = selectedMenu, DailyMenuViewModelWithAllRecipes = allMenus }; //Act & Assert controller.WithCallTo(x => x.EditDailyMenu(id)) .ShouldRenderView("EditDailyMenu"); //Act & Assert controller.WithCallTo(x => x.EditDailyMenu(id, date, recipesIds)) .ShouldRedirectTo(x => x.Index()); }
public void RenderTheRightView_EditDailyMenu_WhenValidGuidIdIsPassed() { //Arrange var dailyMenusServiceMock = new Mock <IDailyMenuService>(); var recipesServiceMock = new Mock <IRecipesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new DailyMenusController(recipesServiceMock.Object, dailyMenusServiceMock.Object, mappingServiceMock.Object); Guid id = Guid.NewGuid(); DateTime date = DateTime.Today; DayOfWeek dayOfWeek = date.DayOfWeek; DailyMenu dailyMenu = new DailyMenu() { Id = id, Date = date, DayOfWeek = dayOfWeek }; DailyMenuViewModel dailyMenuViewModel = new DailyMenuViewModel() { Id = dailyMenu.Id, Date = dailyMenu.Date, DayOfWeek = dailyMenu.DayOfWeek }; var selectedMenu = dailyMenuViewModel; var allMenus = new AddDailyMenuViewModel(); var dailyMenus = new List <DailyMenu>(); dailyMenusServiceMock.Setup(x => x.GetDailyMenuById(id)).Returns(dailyMenu); dailyMenusServiceMock.Setup(x => x.GetAllDailyMenus()).Returns(dailyMenus); mappingServiceMock.Setup(x => x.Map <DailyMenuViewModel>(dailyMenu)).Returns(dailyMenuViewModel); mappingServiceMock.Setup(x => x.Map <AddDailyMenuViewModel>(dailyMenus)).Returns(allMenus); var model = new EditDailyMenuViewModel() { Id = id, SelectedDate = DateTime.Today, SelectedDailyMenuViewModel = selectedMenu, DailyMenuViewModelWithAllRecipes = allMenus }; //Act & Assert controller.WithCallTo(x => x.EditDailyMenu(id)) .ShouldRenderView("EditDailyMenu"); }
public ActionResult AddDailyMenu() { AddDailyMenuViewModel model = this.GetAddDailyMenuViewModelWithAllRecipes(); EditDailyMenuViewModel editModel = new EditDailyMenuViewModel(); editModel.DailyMenuViewModelWithAllRecipes = model; editModel.SelectedDailyMenuViewModel = new DailyMenuViewModel() { Salads = new List <RecipeViewModel>(), BigSalads = new List <RecipeViewModel>(), Soups = new List <RecipeViewModel>(), MainDishes = new List <RecipeViewModel>(), Vegetarian = new List <RecipeViewModel>(), Pasta = new List <RecipeViewModel>(), BBQ = new List <RecipeViewModel>(), Date = DateTime.Today }; return(this.View(editModel)); }
public ActionResult EditDailyMenu(Guid id) { if (id == Guid.Empty) { return(this.View("404.html")); } var selectedMenu = this.GetDailyMenuViewModelById(id); var allMenus = this.GetAddDailyMenuViewModelWithAllRecipes(); EditDailyMenuViewModel editModel = new EditDailyMenuViewModel() { Id = selectedMenu.Id, SelectedDailyMenuViewModel = selectedMenu, SelectedDate = selectedMenu.Date, DailyMenuViewModelWithAllRecipes = allMenus }; return(this.View(editModel)); }
public void RenderTheRightPartialView_AddMenu() { //Arrange var dailyMenusServiceMock = new Mock <IDailyMenuService>(); var recipesServiceMock = new Mock <IRecipesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new DailyMenusController(recipesServiceMock.Object, dailyMenusServiceMock.Object, mappingServiceMock.Object); var model = new EditDailyMenuViewModel() { Id = Guid.NewGuid(), SelectedDate = DateTime.Today, SelectedDailyMenuViewModel = new DailyMenuViewModel(), DailyMenuViewModelWithAllRecipes = new AddDailyMenuViewModel() }; //Act & Assert controller.WithCallTo(x => x.AddMenu(model)) .ShouldRenderPartialView("_AddMenu"); }
public ActionResult AddMenu(EditDailyMenuViewModel editModel) { return(this.PartialView("_AddMenu", editModel)); }
public void RenderTheRightPartialView_AddMenu_WithEditDailyMenuViewModel_AndNoModelErrors_AndCorrectContent() { //Arrange var dailyMenusServiceMock = new Mock <IDailyMenuService>(); var recipesServiceMock = new Mock <IRecipesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new DailyMenusController(recipesServiceMock.Object, dailyMenusServiceMock.Object, mappingServiceMock.Object); Guid recipeId = Guid.NewGuid(); IEnumerable <Guid> recipesIds = new List <Guid>() { recipeId }; DateTime date = new DateTime(2017, 5, 5); Guid dailyMenuId = Guid.NewGuid(); var ingredientId = Guid.NewGuid(); var name = "IngredientName"; var foodcategoryId = Guid.NewGuid(); var quantityInMeasuringUnit = 0.200; var pricePerMeasuringUnit = 1.29m; var ingredientViewModel = new IngredientViewModel() { Id = ingredientId, Name = name, FoodCategoryId = foodcategoryId, QuantityInMeasuringUnit = quantityInMeasuringUnit, PricePerMeasuringUnit = pricePerMeasuringUnit }; var title = "Title Of A New Recipe"; var describtion = "This is a decsribtion"; var instructions = "Instructions of the recipe"; var dishType = DishType.MainDish; var recipeViewModel = new RecipeViewModel() { Title = title, Describtion = describtion, Instruction = instructions, DishType = dishType, Ingredients = new List <IngredientViewModel>() { ingredientViewModel } }; var dailyMenuGuid = Guid.NewGuid(); var addDailyMenuModel = new AddDailyMenuViewModel() { Date = date, Salads = new List <RecipeViewModel>() { recipeViewModel } }; var model = new EditDailyMenuViewModel() { Id = Guid.NewGuid(), SelectedDate = DateTime.Today, SelectedDailyMenuViewModel = new DailyMenuViewModel(), DailyMenuViewModelWithAllRecipes = addDailyMenuModel }; //Act & Assert controller.WithCallTo(x => x.AddMenu(model)) .ShouldRenderPartialView("_AddMenu") .WithModel <EditDailyMenuViewModel>( viewModel => Assert.AreEqual(model.DailyMenuViewModelWithAllRecipes.Date, date)) .AndNoModelErrors(); }