mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-22 18:30:28 +00:00
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from pathlib import Path
|
|
|
|
|
|
REPO = Path(__file__).resolve().parent.parent
|
|
|
|
|
|
def read(rel: str) -> str:
|
|
return (REPO / rel).read_text(encoding="utf-8")
|
|
|
|
|
|
def test_composer_model_dropdown_has_scope_advisory():
|
|
ui = read("static/ui.js")
|
|
style = read("static/style.css")
|
|
|
|
assert "model-scope-note" in ui
|
|
assert "model_scope_advisory" in ui
|
|
assert "Applies to this conversation from your next message." in ui
|
|
assert ui.index("dd.appendChild(_scopeNote);") < ui.index("dd.appendChild(_searchRow);")
|
|
assert ".model-scope-note" in style
|
|
assert "position:sticky" in style
|
|
|
|
|
|
def test_model_selection_toast_describes_conversation_scope():
|
|
boot = read("static/boot.js")
|
|
i18n = read("static/i18n.js")
|
|
|
|
assert "model_scope_toast" in boot
|
|
assert "Applies to this conversation from your next message." in i18n
|
|
assert "model_scope_advisory: 'Applies to this conversation from your next message.'" in i18n
|
|
assert "model_scope_toast: 'Applies to this conversation from your next message.'" in i18n
|
|
assert "Model change takes effect in your next conversation" not in boot
|
|
|
|
|
|
def test_settings_default_model_copy_describes_new_conversations():
|
|
html = read("static/index.html")
|
|
i18n = read("static/i18n.js")
|
|
|
|
assert 'data-i18n="settings_desc_model"' in html
|
|
assert "Used for new conversations. Existing conversations keep their selected model." in html
|
|
assert "settings_desc_model" in i18n
|