stackchain-dashboard/tests/test_panel_persistence.py
timmy 6bfc97dcdf
Some checks failed
CI / build-frontend (pull_request) Has been skipped
CI / lint (pull_request) Failing after 7s
feat: persist collapsible dashboard panels
2026-08-04 14:53:06 +00:00

23 lines
788 B
Python

from pathlib import Path
DASHBOARD = Path("frontend/index.html")
def test_dashboard_panels_are_independently_collapsible():
html = DASHBOARD.read_text()
for panel_key in ("context", "ai-stream", "issues", "pull-requests", "widgets", "layout", "markdown"):
assert f'<details class="panel' in html
assert f'data-panel-key="{panel_key}"' in html
def test_panel_open_state_is_restored_and_saved_in_local_storage():
html = DASHBOARD.read_text()
assert 'const PANEL_STATE_KEY = "stackchain.panel-state.v1"' in html
assert "localStorage.getItem(PANEL_STATE_KEY)" in html
assert "panel.open = savedState[panel.dataset.panelKey]" in html
assert "localStorage.setItem(PANEL_STATE_KEY" in html
assert "panel.addEventListener('toggle'" in html