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");
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 6
0
 public ActionResult AddMenu(EditDailyMenuViewModel editModel)
 {
     return(this.PartialView("_AddMenu", editModel));
 }
Exemplo n.º 7
0
        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();
        }