26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
JS = (ROOT / "hockey_data" / "static" / "tournament-menu.js").read_text(encoding="utf-8")
|
|
ROUTER = (ROOT / "hockey_data" / "router.py").read_text(encoding="utf-8")
|
|
|
|
|
|
def test_account_switch_clears_account_bound_runtime_state():
|
|
assert 'account: "hockey.accountId"' in JS
|
|
assert 'previousAccountId !== currentAccountId' in JS
|
|
assert 'localStorage.removeItem(storage.session)' in JS
|
|
assert 'localStorage.removeItem(storage.game)' in JS
|
|
assert 'localStorage.removeItem(storage.vmixDevice)' in JS
|
|
assert 'await ensureAccountScopedRuntimeState();' in JS
|
|
|
|
|
|
def test_match_session_retries_without_stale_agent():
|
|
assert 'const selectedDeviceId = currentAgentDeviceId();' in JS
|
|
assert 'Retry the operator session without Agent' in JS
|
|
assert 'JSON.stringify({ ...sessionPayload, vmix_device_id: "" })' in JS
|
|
|
|
|
|
def test_agent_assignment_cannot_break_operator_session_creation():
|
|
assert 'result["agent_warning"] = str(agent_error)[:300]' in ROUTER
|
|
assert 'result["agent_assignment"] = None' in ROUTER
|