5adf85ab65
* feature/metafeeds: Restructured API, splitted menu and meta feed * feature/metafeeds: add field 'key' to Canteen * feature/metafeeds: added helper function for reverse urls * feature/metafeeds: added menu feed url to meta feed * feature/metafeeds: added missing test (added: testing meta feed rendering in retrievaltest) * feature/metafeeds: added feed index page * whitespace fix * feature/metafeeds: added alias urls * feature/metafeeds: moved meta feed default url * feature/metafeeds: moved index generation to views * feature/metafeeds: inlined builder instance creation * feature/metafeeds: removed unused 'menu' parameter * feature/metafeeds: replaced 'reverse' module with Flask's url_for * feature/metafeeds: removed unused import * feature/metafeeds: removed unused function parameters * feature/metafeeds: moved menu feed url generation to views.py * feature/metafeeds: cleanup debug prints removing debug prints that should never have been committed.
53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
# -*- encoding: utf-8 -*-
|
|
|
|
import io
|
|
import json
|
|
import os
|
|
|
|
from stw_potsdam import feed
|
|
from stw_potsdam.config import read_canteen_config
|
|
|
|
|
|
def _resource_path(filename):
|
|
return os.path.join('tests', 'resources', filename)
|
|
|
|
|
|
def _canteen():
|
|
return read_canteen_config()['griebnitzsee']
|
|
|
|
|
|
def _menu():
|
|
with open(_resource_path('input.json')) as f:
|
|
return json.load(f)
|
|
|
|
|
|
def _expected_meta_feed():
|
|
with io.open(_resource_path('meta_output.xml'), encoding='utf-8') as f:
|
|
return f.read()
|
|
|
|
|
|
def _expected_menu_feed():
|
|
with io.open(_resource_path('menu_output.xml'), encoding='utf-8') as f:
|
|
return f.read()
|
|
|
|
|
|
def test_meta_consistency():
|
|
canteen = _canteen()
|
|
menu = _menu()
|
|
menu_feed_url = "canteens/{}/menu".format(canteen.key)
|
|
|
|
actual = feed.render_meta(canteen, menu_feed_url)
|
|
|
|
expected = _expected_meta_feed()
|
|
assert expected == actual
|
|
|
|
|
|
def test_menu_consistency():
|
|
canteen = _canteen()
|
|
menu = _menu()
|
|
|
|
actual = feed.render_menu(menu)
|
|
|
|
expected = _expected_menu_feed()
|
|
assert expected == actual
|