40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
"""Static checks for the Canvas panel assets."""
|
|
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
CANVAS_JS = ROOT / "static" / "canvas.js"
|
|
CANVAS_CSS = ROOT / "static" / "canvas.css"
|
|
|
|
|
|
def test_canvas_assets_exist():
|
|
assert CANVAS_JS.is_file()
|
|
assert CANVAS_CSS.is_file()
|
|
|
|
|
|
def test_canvas_js_is_idempotent_and_uses_plugin_routes():
|
|
src = CANVAS_JS.read_text()
|
|
assert "__svrntyCanvasLoaded" in src
|
|
assert "request: _request" in src
|
|
assert "svrnty:canvas-generate" in src
|
|
assert 'name: "canvas"' in src
|
|
assert "/api/canvas/status" in src
|
|
assert "/api/canvas/tools" in src
|
|
assert "/api/canvas/proxy" in src
|
|
assert "/api/canvas/command" in src
|
|
assert "/api/canvas/events" in src
|
|
assert "/api/canvas/design-context" in src
|
|
assert "designContext" in src
|
|
assert "BTE context ready" in src
|
|
assert "data-canvas-action=\"save\"" in src
|
|
assert "data-canvas-action=\"prototype-link\"" in src
|
|
assert "/prototype-edges" in src
|
|
assert "/export" in src
|
|
assert "status.capabilities" in src
|
|
|
|
|
|
def test_canvas_css_is_panel_scoped():
|
|
src = CANVAS_CSS.read_text()
|
|
assert ".svrnty-canvas-" in src
|
|
assert ".svrnty-canvas-overlay" in src
|