public void GetDishModelTest_ShouldReturnMenuModelWithDishModelBackOfficeIfCalledWithRestaurantModelBackOfficeParameter()
        {
            Dish dish1 = new Dish()
            {
                Name = "TempDish1",
                Description = "description",
                Id = 1,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish2 = new Dish()
            {
                Name = "TempDish2",
                Description = "description",
                Id = 2,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish3 = new Dish()
            {
                Name = "TempDish3",
                Description = "description",
                Id = 3,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish4 = new Dish()
            {
                Name = "TempDish4",
                Description = "description",
                Id = 4,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };

            var dishList1 = new List<Dish>();
            dishList1.Add(dish1);
            dishList1.Add(dish2);
            var dishList2 = new List<Dish>();
            dishList2.Add(dish3);
            dishList2.Add(dish4);

            MenuPart menuPart1 = new MenuPart()
            {
                Name = "TestMenuPart",
                Id = 1,
                OrderBy = 1,
                Dishes = dishList1
            };
            MenuPart menuPart2 = new MenuPart()
            {
                Name = "TestMenuPart",
                Id = 2,
                OrderBy = 2,
                Dishes = dishList1
            };
            List<MenuPart> menuPartsList = new List<MenuPart>();
            menuPartsList.Add(menuPart1);
            menuPartsList.Add(menuPart2);
            Menu menu = new Menu();
            menu.MenuParts.Add(menuPart1);
            menu.MenuParts.Add(menuPart2);

            RestaurantModelBackOffice restBO = new RestaurantModelBackOffice();
            var menuModel = menu.ToMenuModel("111", "he", restBO);
            foreach (var menuPart in menuModel.MenuParts)
            {
                foreach (DishModel dishModel in menuPart.Dishes)
                {
                    Assert.IsTrue(dishModel.GetType() == typeof(DishModelBackOffice));
                }
            }
        }
Esempio n. 2
0
        public void ToMenuModel_ShouldConvertMenuToMenuModel_AllDishesAndMenusNamesToSpecificLanguage()
        {
            //arrange
            Dish dish1 = new Dish()
            {
                Id = 111,
                Name = "אורז לבן",
                Description = "אורז לבן מבושל",
                LocalizedName = new Localized("he", "אורז לבן"),
                LocalizedDescription = new Localized("he", "אורז לבן מבושל"),
                DefaultWeight = new WeightType()
                {
                    Desc = "100 גרם",
                    LocalizedDescription = new Localized("he", "100 גרם")
                }
            };
            dish1.LocalizedName.AddDescription("en-US", "white rice");
            dish1.LocalizedDescription.AddDescription("en-US", "cooked white rice");
            dish1.DefaultWeight.LocalizedDescription.AddDescription("en-US", "100 gramm");

            Dish dish2 = new Dish()
            {
                Id = 222,
                Name = "תפוח אדמה",
                Description = "תפוח אדמה אפוי",
                LocalizedName = new Localized("he", "תפוח אדמה"),
                LocalizedDescription = new Localized("he", "תפוח אדמה אפוי"),
                DefaultWeight = new WeightType()
                {
                    Desc = "100 גרם",
                    LocalizedDescription = new Localized("he", "200 גרם")
                }
            };
            dish2.LocalizedName.AddDescription("en-US", "Potato");
            dish2.LocalizedDescription.AddDescription("en-US", "Baked Potato");
            dish2.DefaultWeight.LocalizedDescription.AddDescription("en-US", "200 gramm");

            Menu menu = new Menu()
            {
                Id = 1,
                MenuParts = new List<MenuPart>()
            };
            MenuPart menuPart = new MenuPart(){
                Id = 1,
                Name = "תוספות",
                LocalizedName = new Localized("he", "תוספות"),
                Dishes = new List<Dish>()
            };
            menuPart.LocalizedName.AddDescription("en-US", "garnish");
            menuPart.Dishes.Add(dish1);
            menuPart.Dishes.Add(dish2);
            menu.MenuParts.Add(menuPart);

            //act
            MenuModel menuModelDefault = menu.ToMenuModel("2", "he");
            MenuModel menuModelEn = menu.ToMenuModel("2", "en-US");
            MenuModel menuModelHe = menu.ToMenuModel("2", "he");

            //Assert
            Assert.AreEqual(menuModelDefault.MenuParts[0].Language, "he");
            Assert.AreEqual(menuModelDefault.MenuParts[0].Name, "תוספות");
            Assert.AreEqual(menuModelEn.MenuParts[0].Language, "en-US");
            Assert.AreEqual(menuModelEn.MenuParts[0].Name, "garnish");
            Assert.AreEqual(menuModelHe.MenuParts[0].Language, "he");
            Assert.AreEqual(menuModelHe.MenuParts[0].Name, "תוספות");

            Assert.AreEqual(menuModelDefault.MenuParts[0].Dishes[0].Name, "אורז לבן");
            Assert.AreEqual(menuModelDefault.MenuParts[0].Dishes[0].DefaultWeight.Desc, "100 גרם");
            Assert.AreEqual(menuModelDefault.MenuParts[0].Dishes[1].Name, "תפוח אדמה");
            Assert.AreEqual(menuModelDefault.MenuParts[0].Dishes[1].DefaultWeight.Desc, "200 גרם");

            Assert.AreEqual(menuModelHe.MenuParts[0].Dishes[0].Name, "אורז לבן");
            Assert.AreEqual(menuModelHe.MenuParts[0].Dishes[0].DefaultWeight.Desc, "100 גרם");
            Assert.AreEqual(menuModelHe.MenuParts[0].Dishes[1].Name, "תפוח אדמה");
            Assert.AreEqual(menuModelHe.MenuParts[0].Dishes[1].DefaultWeight.Desc, "200 גרם");

            Assert.AreEqual(menuModelEn.MenuParts[0].Dishes[0].Name, "white rice");
            Assert.AreEqual(menuModelEn.MenuParts[0].Dishes[0].DefaultWeight.Desc, "100 gramm");
            Assert.AreEqual(menuModelEn.MenuParts[0].Dishes[1].Name, "Potato");
            Assert.AreEqual(menuModelEn.MenuParts[0].Dishes[1].DefaultWeight.Desc, "200 gramm");
        }