Files
hermes-webui/tests/test_issue5959_manual_update_i18n.py
f8546915ab Release exp-v0.52.55: localize manual Docker update guidance (#5973, #5959) (#5985)
* fix(i18n): localize manual Docker update guidance

* Release exp-v0.52.55: localize manual Docker update guidance (#5973, #5959)

---------

Co-authored-by: KaliShodan <25535214+jbbottoms@users.noreply.github.com>
Co-authored-by: nesquena-hermes <agent@nesquena-hermes>
2026-07-11 23:53:02 -07:00

39 lines
1.2 KiB
Python

"""Regression tests for localized Docker manual-update guidance (#5959)."""
import re
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def read(relative_path: str) -> str:
return (ROOT / relative_path).read_text(encoding="utf-8")
def test_manual_update_instruction_exists_in_every_locale():
source = read("static/i18n.js")
assert source.count("settings_update_manual_docker:") == 15
values = re.findall(r"settings_update_manual_docker:\s*'([^']*)'", source)
assert len(values) == 15
assert all("{0}" in value for value in values)
def test_manual_update_instruction_uses_translation_helper():
source = read("static/ui.js")
match = re.search(
r"function _formatManualUpdateInstruction\b.*?\n\}", source, re.DOTALL
)
assert match
function_source = match.group(0)
assert "t('settings_update_manual_docker'" in function_source
assert "docker pull ghcr.io/nesquena/hermes-webui:latest" in function_source
assert "Manual update required" not in function_source
def test_settings_panel_has_no_hardcoded_manual_update_fallback():
source = read("static/panels.js")
assert "Manual update required" not in source
assert "_formatManualUpdateInstruction(data.webui)" in source