| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | from requests import Response | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from mealie.schema.recipe.recipe_ingredient import IngredientUnit, SaveIngredientUnit | 
					
						
							|  |  |  | from tests import utils | 
					
						
							|  |  |  | from tests.multitenant_tests.case_abc import ABCMultiTenantTestCase | 
					
						
							|  |  |  | from tests.utils import routes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UnitsTestCase(ABCMultiTenantTestCase): | 
					
						
							|  |  |  |     items: list[IngredientUnit] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-07 20:08:04 -08:00
										 |  |  |     def seed_action(self, group_id: str) -> set[str]: | 
					
						
							|  |  |  |         unit_ids: set[str] = set() | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  |         for _ in range(10): | 
					
						
							|  |  |  |             unit = self.database.ingredient_units.create( | 
					
						
							|  |  |  |                 SaveIngredientUnit( | 
					
						
							|  |  |  |                     group_id=group_id, | 
					
						
							|  |  |  |                     name=utils.random_string(10), | 
					
						
							|  |  |  |                 ) | 
					
						
							|  |  |  |             ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             unit_ids.add(str(unit.id)) | 
					
						
							|  |  |  |             self.items.append(unit) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return unit_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-05-07 20:08:04 -08:00
										 |  |  |         g1_item_ids: set[str] = set() | 
					
						
							|  |  |  |         g2_item_ids: set[str] = set() | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  |         for group_id, item_ids in [(group1_id, g1_item_ids), (group2_id, g2_item_ids)]: | 
					
						
							|  |  |  |             for _ in range(10): | 
					
						
							|  |  |  |                 name = utils.random_string(10) | 
					
						
							|  |  |  |                 food = self.database.ingredient_units.create( | 
					
						
							|  |  |  |                     SaveIngredientUnit( | 
					
						
							|  |  |  |                         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-05-07 20:08:04 -08:00
										 |  |  |         return self.client.get(routes.recipes.Units.base, headers=token) | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def cleanup(self) -> None: | 
					
						
							|  |  |  |         for item in self.items: | 
					
						
							|  |  |  |             self.database.ingredient_units.delete(item.id) |