Files
OpenMensa-Parser-STW-Potsdam/tests/test_swp_webspeiseplan_parser.py
T
2026-05-01 00:38:18 +00:00

61 lines
1.6 KiB
Python

# -*- encoding: utf-8 -*-
from stw_potsdam.swp_webspeiseplan_parser import SWPWebspeiseplanParser
def _menu_item(name):
return [
{
"speiseplanGerichtData": [
{
"speiseplanAdvancedGericht": {
"datum": "2026-05-01T00:00:00",
"gerichtkategorieID": 1,
"gerichtname": name,
},
"zusatzinformationen": {
"mitarbeiterpreisDecimal2": 0,
"price3Decimal2": 0,
"gaestepreisDecimal2": 0,
},
}
]
}
]
def _parse_meal(name):
parser = SWPWebspeiseplanParser()
meals = parser.parse_meals(_menu_item(name), {1: {"name": "Salattheke"}})
return meals[0]["meal"]
def test_parse_salad_bar_three_embedded_prices():
meal = _parse_meal(
"große Schale kleine Schale Relevo Schale 100g "
"1,10 €/ 1,70 €/ 1,90€"
)
assert meal.name == "große Schale kleine Schale Relevo Schale 100g"
assert meal.price == {
"student": 1.10,
"employee": 1.70,
"other": 1.90,
}
def test_parse_salad_bar_student_guest_embedded_prices():
meal = _parse_meal(
"große Schale\nkleine Schale\nRelevo Schale\n"
"100g Stud. 1,00€/ Gäste 1,45€"
)
assert meal.name == (
"große Schale kleine Schale Relevo Schale 100g Stud. Gäste"
)
assert meal.price == {
"student": 1.00,
"employee": 0.0,
"other": 1.45,
}