23 lines
788 B
Python
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
|