feat(admin): separate language package lifecycle
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
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
|
||||
Reference in New Issue
Block a user