diff --git a/test/test_sams_app.py b/test/test_sams_app.py index 4eb28cbe4216eb461b5aba27026d9586a1fe2332..ebaa508826567b6dcc847bec10966a464a88c5d5 100644 --- a/test/test_sams_app.py +++ b/test/test_sams_app.py @@ -9,6 +9,7 @@ from sams_classes.exceptions import ( from flask import Blueprint, Flask from .helper_classes import FlaskInThread import requests +import copy def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) @@ -89,7 +90,8 @@ class TestSAMSApp(unittest.TestCase): 'overwritten': 'Will overwrite default if requested' } app = SAMSApp(name = 'test', manifest = manifest - , langDict = {'de': default_lang, 'en': request_lang}) + , langDict = { + 'de': copy.deepcopy(default_lang), 'en': copy.deepcopy(request_lang)}) self.assertEqual(app.lang('en')['overwritten'], request_lang['overwritten']) self.assertEqual(app.lang('en')['fallback'], default_lang['fallback']) self.assertEqual(app.lang('fr')['overwritten'], default_lang['overwritten']) @@ -102,36 +104,44 @@ class TestSAMSApp(unittest.TestCase): manifest = { 'default_language': 'de', 'menu':[ - {'url': expected_urls[0], 'name_string': name_strings[0]}, - {'url': expected_urls[1], 'name_string': name_strings[1], + {'url': copy.copy(expected_urls[0]), + 'name_string': copy.copy(name_strings[0])}, + {'url': copy.copy(expected_urls[1]), 'name_string': copy.copy(name_strings[1]), 'menu':[ - {'url': expected_urls[2], 'name_string': name_strings[2]}, - {'url': expected_urls[3], 'name_string': name_strings[3]} + {'url': copy.copy(expected_urls[2]), + 'name_string': copy.copy(name_strings[2])}, + {'url': copy.copy(expected_urls[3]), + 'name_string': copy.copy(name_strings[3])} ]} ] } - default_lang = { - name_strings[0]: '1 überschrieben', - name_strings[1]: '2 verwendet', - name_strings[2]: '2.1 verwendet', - name_strings[3]: '2.2 überschrieben' - } - request_lang = { - name_strings[0]: '1 used', - name_strings[3]: '2.2 used' + langDicts = { + 'de': { + name_strings[0]: '1 überschrieben', + name_strings[1]: '2 verwendet', + name_strings[2]: '2.1 verwendet', + name_strings[3]: '2.2 überschrieben' + }, + 'en': { + name_strings[0]: '1 used', + name_strings[3]: '2.2 used' + } } app = SAMSApp(name = 'test', manifest = manifest - , langDict = {'de': default_lang, 'en': request_lang}) + , langDict = copy.deepcopy(langDicts)) menu = app.menu('en') self.assertEqual(menu[0]['url'], expected_urls[0]) self.assertEqual(menu[1]['url'], expected_urls[1]) self.assertEqual(menu[1]['menu'][0]['url'], expected_urls[2]) self.assertEqual(menu[1]['menu'][1]['url'], expected_urls[3]) - self.assertEqual(menu[0]['name'], request_lang[name_strings[0]]) - self.assertEqual(menu[1]['name'], default_lang[name_strings[1]]) - self.assertEqual(menu[1]['menu'][0]['name'], default_lang[name_strings[2]]) - self.assertEqual(menu[1]['menu'][1]['name'], request_lang[name_strings[3]]) - + self.assertEqual(menu[1]['name'], langDicts['de'][name_strings[1]]) + self.assertEqual(menu[0]['name'], langDicts['en'][name_strings[0]]) + self.assertEqual(menu[1]['menu'][1]['name'], langDicts['en'][name_strings[3]]) + self.assertEqual(menu[1]['menu'][0]['name'], langDicts['de'][name_strings[2]]) + menu = app.menu('de') + self.assertEqual(menu[0]['name'], langDicts['de'][name_strings[0]]) + self.assertEqual(menu[1]['menu'][1]['name'], langDicts['en'][name_strings[3]]) + def test_app_menu_prefix(self): """app.menu(lanCode, prefix) returns the app menu with prefixed urls""" manifest = {