Public Access
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
import uuid
|
|
|
|
from app.api.llm_plan import _validate_picks
|
|
|
|
|
|
def test_validate_picks_accepts_only_dinners():
|
|
recipe_id = str(uuid.uuid4())
|
|
|
|
picks = _validate_picks(
|
|
[
|
|
{"day_of_week": 1, "meal_type": "breakfast", "recipe_id": recipe_id},
|
|
{"day_of_week": 1, "meal_type": "lunch", "recipe_id": recipe_id},
|
|
{"day_of_week": 1, "meal_type": "dinner", "recipe_id": recipe_id},
|
|
],
|
|
{recipe_id},
|
|
)
|
|
|
|
assert [(pick.day_of_week, pick.meal_type) for pick in picks] == [(1, "dinner")]
|
|
|
|
|
|
def test_validate_picks_limits_schedule_to_three_unique_dinners():
|
|
recipe_ids = [str(uuid.uuid4()) for _ in range(5)]
|
|
|
|
picks = _validate_picks(
|
|
[
|
|
{"day_of_week": 1, "meal_type": "dinner", "recipe_id": recipe_ids[0]},
|
|
{"day_of_week": 2, "meal_type": "dinner", "recipe_id": recipe_ids[1]},
|
|
{"day_of_week": 3, "meal_type": "dinner", "recipe_id": recipe_ids[2]},
|
|
{"day_of_week": 3, "meal_type": "dinner", "recipe_id": recipe_ids[3]},
|
|
{"day_of_week": 5, "meal_type": "dinner", "recipe_id": recipe_ids[4]},
|
|
],
|
|
set(recipe_ids),
|
|
)
|
|
|
|
assert [(pick.day_of_week, pick.recipe_id) for pick in picks] == [
|
|
(1, recipe_ids[0]),
|
|
(3, recipe_ids[2]),
|
|
(5, recipe_ids[4]),
|
|
]
|