| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | from requests import Response | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from mealie.schema.recipe.recipe_ingredient import IngredientFood, SaveIngredientFood | 
					
						
							|  |  |  | from tests import utils | 
					
						
							|  |  |  | from tests.multitenant_tests.case_abc import ABCMultiTenantTestCase | 
					
						
							| 
									
										
										
										
											2022-10-18 14:49:41 -08:00
										 |  |  | from tests.utils import api_routes | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FoodsTestCase(ABCMultiTenantTestCase): | 
					
						
							|  |  |  |     items: list[IngredientFood] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-18 14:49:41 -08:00
										 |  |  |     def seed_action(self, group_id: str) -> set[str]: | 
					
						
							|  |  |  |         food_ids: set[str] = set() | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  |         for _ in range(10): | 
					
						
							|  |  |  |             food = self.database.ingredient_foods.create( | 
					
						
							|  |  |  |                 SaveIngredientFood( | 
					
						
							|  |  |  |                     group_id=group_id, | 
					
						
							|  |  |  |                     name=utils.random_string(10), | 
					
						
							|  |  |  |                 ) | 
					
						
							|  |  |  |             ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             food_ids.add(str(food.id)) | 
					
						
							|  |  |  |             self.items.append(food) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return food_ids | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-15 15:01:56 -08:00
										 |  |  |     def seed_multi(self, group1_id: str, group2_id: str) -> tuple[set[str], set[str]]: | 
					
						
							| 
									
										
										
										
											2022-10-18 14:49:41 -08:00
										 |  |  |         g1_item_ids: set[str] = set() | 
					
						
							|  |  |  |         g2_item_ids: set[str] = set() | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-21 15:39:23 -05:00
										 |  |  |         for _ in range(10): | 
					
						
							|  |  |  |             name = utils.random_string(10) | 
					
						
							|  |  |  |             for group_id, item_ids in [(group1_id, g1_item_ids), (group2_id, g2_item_ids)]: | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  |                 food = self.database.ingredient_foods.create( | 
					
						
							|  |  |  |                     SaveIngredientFood( | 
					
						
							|  |  |  |                         group_id=group_id, | 
					
						
							|  |  |  |                         name=name, | 
					
						
							|  |  |  |                     ) | 
					
						
							|  |  |  |                 ) | 
					
						
							|  |  |  |                 item_ids.add(str(food.id)) | 
					
						
							|  |  |  |                 self.items.append(food) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return g1_item_ids, g2_item_ids | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def get_all(self, token: str) -> Response: | 
					
						
							| 
									
										
										
										
											2022-10-18 14:49:41 -08:00
										 |  |  |         return self.client.get(api_routes.foods, headers=token) | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def cleanup(self) -> None: | 
					
						
							|  |  |  |         for item in self.items: | 
					
						
							|  |  |  |             self.database.ingredient_foods.delete(item.id) |