def test_labels_show_restrictions(self): """An ingredient we know will clash must be in the labels""" # generate orders today self.today = datetime.date.today() clients = Client.active.all() numorders = Order.objects.auto_create_orders(self.today, clients) # main dish and its ingredients today main_dishes = Component.objects.filter(name='Ginger pork') main_dish = main_dishes[0] dish_ingredients = Component.get_recipe_ingredients(main_dish.id) for ing in dish_ingredients: ci = Component_ingredient(component=main_dish, ingredient=ing, date=self.today) ci.save() # Add sides ingredient sides_component = Component.objects.get( component_group=COMPONENT_GROUP_CHOICES_SIDES) # This ingredient is in the restrictions of some clients in the data sides_ingredient = Ingredient.objects.get(name='Brussel sprouts') ci = Component_ingredient(component=sides_component, ingredient=sides_ingredient, date=self.today) ci.save() # menu today Menu.create_menu_and_components(self.today, [ 'Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote', 'Days Sides' ]) self.client.get(reverse_lazy('delivery:kitchen_count')) response = self.client.get(reverse_lazy('delivery:mealLabels')) self.assertTrue('ReportLab' in repr(response.content))
def setUpTestData(cls): Menu.create_menu_and_components( datetime.date(2016, 5, 21), ['Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote'])
def test_no_main_dish_exception(self): with self.assertRaises(Exception) as cm: Menu.create_menu_and_components( datetime.date(2016, 7, 15), ['Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote']) the_exception = cm.exception self.assertEqual(the_exception.error_code, 3)
def test_many_dishes_per_component_group_exception(self): with self.assertRaises(Exception) as cm: Menu.create_menu_and_components( datetime.date(2016, 7, 15), ['Ginger pork', 'Coq au vin', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote']) the_exception = cm.exception self.assertEqual(the_exception.error_code, 3)
def test_menu_existed(self): Menu.create_menu_and_components( datetime.date(2016, 7, 15), ['Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote']) number = Menu.create_menu_and_components( datetime.date(2016, 7, 15), ['Coq au vin', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding']) self.assertEqual(number, 6)
def test_extra_similar_side_dishes(self): """Test cumulative quantities for similar side dishes.""" # generate orders today self.today = datetime.date.today() clients = Client.active.all() numorders = Order.objects.auto_create_orders( self.today, clients) Menu.create_menu_and_components( self.today, ['Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote']) # main dish and its ingredients today main_dishes = Component.objects.filter(name='Ginger pork') main_dish = main_dishes[0] dish_ingredients = Component.get_recipe_ingredients( main_dish.id) for ing in dish_ingredients: ci = Component_ingredient( component=main_dish, ingredient=ing, date=self.today) ci.save() # Add sides ingredient sides_component = Component.objects.get( component_group=COMPONENT_GROUP_CHOICES_SIDES) sides_ingredient = Ingredient.objects.get(name='Brussel sprouts') ci = Component_ingredient( component=sides_component, ingredient=sides_ingredient, date=self.today) ci.save() # Add two separate extra compote order items for 'Tracy' member = Member.objects.filter(lastname='Tracy')[0] client = Client.objects.get(member=member.id) order = Order.objects.get(client=client.id, delivery_date=self.today) order.add_item( 'meal_component', component_group='compote', total_quantity=1, remark='no sugar') order.add_item( 'meal_component', component_group='compote', total_quantity=1, remark='no sugar') response = self.client.get('/delivery/kitchen_count/') self.assertTrue(b'Compote' in response.content)
def test_pdf_report_show_restrictions(self): """An ingredient we know will clash must be in the pdf report""" # generate orders today self.today = datetime.date.today() clients = Client.active.all() numorders = Order.objects.auto_create_orders(self.today, clients) Menu.create_menu_and_components(self.today, [ 'Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote' ]) self.client.get('/delivery/kitchen_count/') response = self.client.get('/delivery/viewDownloadKitchenCount/') self.assertTrue('ReportLab' in repr(response.content))
def test_pdf_report_show_restrictions(self): """An ingredient we know will clash must be in the pdf report""" # generate orders today self.today = datetime.date.today() clients = Client.active.all() numorders = Order.objects.auto_create_orders( self.today, clients) Menu.create_menu_and_components( self.today, ['Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote']) self.client.get('/delivery/kitchen_count/') response = self.client.get('/delivery/viewDownloadKitchenCount/') self.assertTrue('ReportLab' in repr(response.content))
def test_clashing_ingredient(self): """An ingredient we know will clash must be in the page""" self.today = datetime.date.today() # create orders today clients = Client.active.all() numorders = Order.objects.auto_create_orders( self.today, clients) # main dish and its ingredients today main_dishes = Component.objects.filter(name='Ginger pork') main_dish = main_dishes[0] dish_ingredients = Component.get_recipe_ingredients( main_dish.id) for ing in dish_ingredients: ci = Component_ingredient( component=main_dish, ingredient=ing, date=self.today) ci.save() # Add extra ingredient so that more clashing clients will # require two pages on the PDF kitchen count report extra = Ingredient.objects.get(name='Walnuts') ci = Component_ingredient( component=main_dish, ingredient=extra, date=self.today) ci.save() # add sides ingredient sides_component = Component.objects.get( component_group=COMPONENT_GROUP_CHOICES_SIDES) extra = Ingredient.objects.get(name='Cabbage') ci = Component_ingredient( component=sides_component, ingredient=extra, date=self.today) ci.save() # menu today Menu.create_menu_and_components( self.today, ['Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote']) response = self.client.get(reverse_lazy('delivery:kitchen_count')) self.assertTrue(b'Ground porc' in response.content)
def test_extra_similar_side_dishes(self): """Test cumulative quantities for similar side dishes.""" # generate orders today self.today = datetime.date.today() clients = Client.active.all() numorders = Order.objects.auto_create_orders(self.today, clients) Menu.create_menu_and_components(self.today, [ 'Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote' ]) # main dish and its ingredients today main_dishes = Component.objects.filter(name='Ginger pork') main_dish = main_dishes[0] dish_ingredients = Component.get_recipe_ingredients(main_dish.id) for ing in dish_ingredients: ci = Component_ingredient(component=main_dish, ingredient=ing, date=self.today) ci.save() # Add sides ingredient sides_component = Component.objects.get( component_group=COMPONENT_GROUP_CHOICES_SIDES) sides_ingredient = Ingredient.objects.get(name='Brussel sprouts') ci = Component_ingredient(component=sides_component, ingredient=sides_ingredient, date=self.today) ci.save() # Add two separate extra compote order items for 'Tracy' member = Member.objects.filter(lastname='Tracy')[0] client = Client.objects.get(member=member.id) order = Order.objects.get(client=client.id, delivery_date=self.today) order.add_item('meal_component', component_group='compote', total_quantity=1, remark='no sugar') order.add_item('meal_component', component_group='compote', total_quantity=1, remark='no sugar') response = self.client.get('/delivery/kitchen_count/') self.assertTrue(b'Compote' in response.content)
def test_labels_show_restrictions(self): """An ingredient we know will clash must be in the labels""" # generate orders today self.today = datetime.date.today() clients = Client.active.all() numorders = Order.objects.auto_create_orders( self.today, clients) # main dish and its ingredients today main_dishes = Component.objects.filter(name='Ginger pork') main_dish = main_dishes[0] dish_ingredients = Component.get_recipe_ingredients( main_dish.id) for ing in dish_ingredients: ci = Component_ingredient( component=main_dish, ingredient=ing, date=self.today) ci.save() # Add sides ingredient sides_component = Component.objects.get( component_group=COMPONENT_GROUP_CHOICES_SIDES) # This ingredient is in the restrictions of some clients in the data sides_ingredient = Ingredient.objects.get(name='Brussel sprouts') ci = Component_ingredient( component=sides_component, ingredient=sides_ingredient, date=self.today) ci.save() # menu today Menu.create_menu_and_components( self.today, ['Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote', 'Days Sides']) self.client.get(reverse_lazy('delivery:kitchen_count')) response = self.client.get(reverse_lazy('delivery:mealLabels')) self.assertTrue('ReportLab' in repr(response.content))
def test_clashing_ingredient(self): """An ingredient we know will clash must be in the page""" self.today = datetime.date.today() # create orders today clients = Client.active.all() numorders = Order.objects.auto_create_orders(self.today, clients) # main dish and its ingredients today main_dishes = Component.objects.filter(name='Ginger pork') main_dish = main_dishes[0] dish_ingredients = Component.get_recipe_ingredients(main_dish.id) for ing in dish_ingredients: ci = Component_ingredient(component=main_dish, ingredient=ing, date=self.today) ci.save() # Add extra ingredient so that more clashing clients will # require two pages on the PDF kitchen count report extra = Ingredient.objects.get(name='Walnuts') ci = Component_ingredient(component=main_dish, ingredient=extra, date=self.today) ci.save() # add sides ingredient sides_component = Component.objects.get( component_group=COMPONENT_GROUP_CHOICES_SIDES) extra = Ingredient.objects.get(name='Cabbage') ci = Component_ingredient(component=sides_component, ingredient=extra, date=self.today) ci.save() # menu today Menu.create_menu_and_components(self.today, [ 'Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote' ]) response = self.client.get(reverse_lazy('delivery:kitchen_count')) self.assertTrue(b'Ground porc' in response.content)
def setUpTestData(cls): Menu.create_menu_and_components(datetime.date(2016, 5, 21), [ 'Ginger pork', 'Green Salad', 'Fruit Salad', 'Day s Dessert', 'Day s Diabetic Dessert', 'Day s Pudding', 'Day s Compote' ])