Files
site/apps/api/tests/test_zootech_k_hub_ui_contract.py
T

36 lines
1.1 KiB
Python

"""Port of WESP test_zootech_k_hub_ui_contract for orchestrator public/wesp copy."""
from __future__ import annotations
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[2] / "web" / "public" / "static"
ZOOTECH_PAGES = (
"recipes.html",
"reports.html",
"components.html",
"feed_dispensers.html",
"consumption.html",
)
def test_zootech_pages_include_k_hub_assets():
for page in ZOOTECH_PAGES:
html = (PROJECT_ROOT / page).read_text(encoding="utf-8")
assert "wesp-zootech-k-hub.css" in html, page
assert "daily-plan-panel.js" in html, page
assert "wesp-zootech-notification-center.js" in html, page
def test_orchestrator_boot_present():
boot = (PROJECT_ROOT / "js" / "wesp-orchestrator-boot.js").read_text(encoding="utf-8")
assert "WespOrchestratorBoot" in boot
assert "enterprise_id" in boot
def test_multiserver_panel_uses_sync_api():
js = (PROJECT_ROOT / "js" / "pages" / "multiserver-panel.js").read_text(encoding="utf-8")
assert "/api/v1/sync/conflicts" in js
assert "resolve" in js