gateway/tests/demo/test_demo_uc4_i18n.py
2026-04-13 01:37:29 +02:00

51 lines
2.1 KiB
Python

"""
T-UC4: Sprach-Deployment — Spanish (es).
Verifies that the i18n system is ready for the live demo:
- Admin languages page is reachable
- Spanish is available as a choice but NOT pre-installed
- xx base set exists with entries
"""
import pytest
class TestI18nReadiness:
def test_xxBaseSetExists(self, db):
"""The xx (meta/base) language set must exist with entries."""
try:
from modules.datamodels.datamodelUiLanguage import UiLanguageSet
sets = db.getRecordset(UiLanguageSet, recordFilter={"id": "xx"})
assert sets, "xx base set not found — run i18n sync first"
entries = sets[0].get("entries") or []
assert len(entries) > 50, f"xx set has only {len(entries)} entries — expected 50+"
except Exception as e:
pytest.skip(f"i18n table not accessible: {e}")
def test_spanishNotPreInstalled(self, db):
"""Spanish (es) must NOT be pre-installed — it will be created live."""
try:
from modules.datamodels.datamodelUiLanguage import UiLanguageSet
sets = db.getRecordset(UiLanguageSet, recordFilter={"id": "es"})
assert len(sets) == 0, "Spanish (es) is already installed — remove it before demo!"
except Exception as e:
pytest.skip(f"i18n table not accessible: {e}")
def test_germanSetExists(self, db):
"""German (de) set must exist and be complete."""
try:
from modules.datamodels.datamodelUiLanguage import UiLanguageSet
sets = db.getRecordset(UiLanguageSet, recordFilter={"id": "de"})
assert sets, "German (de) set not found"
except Exception as e:
pytest.skip(f"i18n table not accessible: {e}")
def test_englishSetExists(self, db):
"""English (en) set must exist."""
try:
from modules.datamodels.datamodelUiLanguage import UiLanguageSet
sets = db.getRecordset(UiLanguageSet, recordFilter={"id": "en"})
assert sets, "English (en) set not found"
except Exception as e:
pytest.skip(f"i18n table not accessible: {e}")