Files
govoplan-admin/tests/test_language_package_section.py

50 lines
1.7 KiB
Python

from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def test_language_lifecycle_has_a_dedicated_admin_section() -> None:
module_source = (ROOT / "webui/src/module.ts").read_text(encoding="utf-8")
panel_source = (
ROOT / "webui/src/features/admin/LanguagePackagesPanel.tsx"
).read_text(encoding="utf-8")
general_source = (
ROOT / "webui/src/features/admin/SystemSettingsPanel.tsx"
).read_text(encoding="utf-8")
assert 'id: "system-language-packages"' in module_source
assert 'surfaceId: "admin.section.system-language-packages"' in module_source
assert "data-language-package-lifecycle" in panel_source
assert "module.version" in panel_source
assert "module.translations?.[language.code]" in panel_source
assert "uninstallPackage" in panel_source
assert "setPackageActive" in panel_source
assert "default_locale" in panel_source
assert "language_packages" not in general_source
assert "available_languages:" not in general_source
def test_language_lifecycle_names_every_required_state() -> None:
source = (
ROOT / "webui/src/features/admin/LanguagePackagesPanel.tsx"
).read_text(encoding="utf-8")
translations = (
ROOT / "webui/src/i18n/generatedTranslations.ts"
).read_text(encoding="utf-8")
for marker in (
"installed.7bb4405c",
"available.7c8f1005",
"active.a733b809",
"inactive.09af574c",
"incompatible.lp001",
"uninstallable.lp001",
):
assert marker in source
for locale_marker in ('"en": {', '"de": {'):
assert locale_marker in translations
assert translations.count("language_package_administration.lp001") == 2