Files
hermes-webui/tests/test_issue2289_cron_detail_expansion.py
2026-05-15 18:04:53 +08:00

46 lines
1.8 KiB
Python

"""Static coverage for issue #2289 cron detail expansion controls."""
from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PANELS_JS = (ROOT / "static" / "panels.js").read_text(encoding="utf-8")
STYLE_CSS = (ROOT / "static" / "style.css").read_text(encoding="utf-8")
I18N_JS = (ROOT / "static" / "i18n.js").read_text(encoding="utf-8")
def test_cron_prompt_and_run_expansion_helpers_are_persisted():
assert "function _cronPanelExpandKey(jobId, suffix)" in PANELS_JS
assert "function _cronRunExpandKey(jobId, filename)" in PANELS_JS
assert "localStorage.setItem(key, expanded ? '1' : '0')" in PANELS_JS
assert "toggleCronPromptExpanded" in PANELS_JS
assert "toggleCronRunExpanded" in PANELS_JS
def test_cron_detail_renders_prompt_and_run_expand_buttons():
assert "cron_expand_prompt" in PANELS_JS
assert "cron_collapse_prompt" in PANELS_JS
assert "class=\"detail-card-title detail-card-title-row\"" in PANELS_JS
assert "class=\"detail-prompt ${promptExpanded ? 'expanded' : ''}\"" in PANELS_JS
assert "class=\"detail-run-body ${runExpanded ? 'expanded' : ''}\"" in PANELS_JS
assert "event.stopPropagation();toggleCronRunExpanded" in PANELS_JS
def test_cron_detail_expanded_state_removes_nested_scroll_caps():
assert ".detail-prompt.expanded{max-height:none;overflow-y:visible;}" in STYLE_CSS
assert ".detail-run-body.expanded{max-height:none;overflow-y:visible;}" in STYLE_CSS
assert ".detail-expand-toggle" in STYLE_CSS
def test_cron_expansion_i18n_keys_exist_in_every_locale():
locale_count = I18N_JS.count("cron_last_output:")
assert locale_count >= 9
for key in (
"cron_expand_prompt",
"cron_collapse_prompt",
"cron_expand_output",
"cron_collapse_output",
):
assert I18N_JS.count(f"{key}:") >= locale_count