Files
hermes-webui/tests/test_kanban_board_ui.py
T

28 lines
988 B
Python

"""Source-level regression tests for the Kanban board UI."""
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
STYLE_CSS = (REPO_ROOT / "static" / "style.css").read_text(encoding="utf-8")
PANELS_JS = (REPO_ROOT / "static" / "panels.js").read_text(encoding="utf-8")
def _css_rule(selector: str) -> str:
start = STYLE_CSS.find(selector + "{")
assert start != -1, f"missing CSS selector: {selector}"
end = STYLE_CSS.find("}", start)
assert end != -1, f"unterminated CSS selector: {selector}"
return STYLE_CSS[start : end + 1]
def test_kanban_columns_render_scrollable_card_lists():
assert 'class="kanban-column-body"' in PANELS_JS
assert "tasks.map(task => _kanbanCard(task, col.name)).join('')" in PANELS_JS
rule = _css_rule(".kanban-column-body")
assert "max-height:min(68vh,720px)" in rule
assert "overflow-y:auto" in rule
assert "overscroll-behavior:contain" in rule
assert "scrollbar-gutter:stable" in rule