Files
hermes-webui/tests/test_issue3842_dismissible_error_toast.py
nesquena-hermes d560a312f2
Some checks failed
Release & Docker / release (push) Has been cancelled
Release v0.51.331 — Release KU (dismissible error toasts, #3844) (#3846)
Error toasts now render an explicit Dismiss button + non-error toasts
dismiss on click (#3844, fixes #3842). Frontend-only (ui.js + style.css +
structural test). Full suite 8278 passed, ESLint runtime + scope-undef +
ruff gates CLEAN, Opus SHIP-safe.

Co-authored-by: claw-io <claw-io@users.noreply.github.com>
2026-06-08 14:39:34 -07:00

49 lines
1.7 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_error_toast_renders_explicit_dismiss_button():
ui = read("static/ui.js")
assert 'class="toast-dismiss"' in ui, (
"Error toasts must render an explicit dismiss button so users can clear "
"blocking toasts immediately instead of waiting for the timeout (#3842)."
)
assert 'data-toast-dismiss="1"' in ui, (
"Dismiss button should expose a stable hook for future DOM/runtime tests."
)
assert "dismissToast(this)" in ui, (
"Error toast dismiss control must call a dedicated dismiss helper."
)
def test_error_toast_dismiss_helper_clears_show_state_and_timer():
ui = read("static/ui.js")
assert "function dismissToast(btnOrEl)" in ui, "Dismiss helper missing from static/ui.js"
assert "clearToastDismissTimer(el);" in ui, (
"Dismiss helper must clear the auto-dismiss timer before hiding the toast."
)
assert "el.classList.remove('show');" in ui, (
"Dismiss helper must hide the toast immediately by removing the show class."
)
def test_toast_styles_define_dismiss_button_layout():
style = read("static/style.css")
assert ".toast-dismiss" in style, (
"Toast stylesheet must define the dismiss button so it matches the existing "
"copy-button affordance without adding layout regressions."
)
assert ".toast-dismiss:hover,.toast-dismiss:focus-visible" in style, (
"Dismiss button should have explicit hover/focus-visible styling for keyboard "
"and pointer accessibility."
)