mitai-jinkendo/backend/tests/test_food_recipes.py

31 lines
1000 B
Python
Raw Permalink Normal View History

from data_layer.food_recipes import list_known_ingredient_names, save_recipe
class _FakeCur:
def __init__(self, rows):
self.rows = rows
def execute(self, sql, params=None):
return None
def fetchall(self):
return self.rows
def test_known_ingredient_names_flags_mapping():
rows = list_known_ingredient_names(_FakeCur([
{"source_name_raw": "Hafer", "source_name_normalized": "hafer", "food_id": "1", "food_name_de": "Haferflocken", "bls_code": "B123", "mapped": True},
{"source_name_raw": "Salz", "source_name_normalized": "salz", "food_id": None, "food_name_de": None, "bls_code": None, "mapped": False},
]), "p")
assert rows[0]["mapped"] is True
assert rows[1]["mapped"] is False
def test_save_recipe_requires_name():
try:
save_recipe(None, "p", {"name_raw": " ", "ingredients": []})
except ValueError as e:
assert "Rezeptname" in str(e)
else:
raise AssertionError("expected ValueError")