feat(device-plugins): add profiled K1 lifecycle and canonical data plane
This commit is contained in:
@@ -90,3 +90,46 @@ def test_model_switch_is_guarded_by_plugin_deactivation() -> None:
|
||||
assert "catch" in host_source
|
||||
assert "selectionTransitionError" in host_source
|
||||
assert "return controller.stop();" in xgrids_runtime
|
||||
|
||||
|
||||
def test_xgrids_frontend_uses_semantic_acquisition_actions_and_stable_identity() -> None:
|
||||
repository_root = Path(__file__).resolve().parents[1]
|
||||
plugin_root = (
|
||||
repository_root / "apps" / "control-station" / "src" / "device-plugins" / "xgrids-k1"
|
||||
)
|
||||
manifest_source = (plugin_root / "manifest.ts").read_text("utf-8")
|
||||
api_source = (plugin_root / "api.ts").read_text("utf-8")
|
||||
hook_source = (plugin_root / "useXgridsK1Runtime.ts").read_text("utf-8")
|
||||
runtime_source = (plugin_root / "runtimeContext.tsx").read_text("utf-8")
|
||||
|
||||
for action in ("acquisition.prepare", "acquisition.start", "acquisition.stop"):
|
||||
assert action in manifest_source
|
||||
assert "prepareAcquisition" in api_source
|
||||
assert "startAcquisition" in api_source
|
||||
assert hook_source.index("xgridsK1Api.prepareAcquisition") < hook_source.index(
|
||||
"xgridsK1Api.startAcquisition"
|
||||
)
|
||||
assert 'mode: "capture-only"' in hook_source
|
||||
assert "state.device_ref" in runtime_source
|
||||
assert "instanceId: deviceRef.device_id" in runtime_source
|
||||
assert "acquisition?.acquisition_id" in runtime_source
|
||||
assert "instanceId: state.selected_device_id" not in runtime_source
|
||||
assert 'id: "xgrids-k1-rerun-live"' not in runtime_source
|
||||
|
||||
|
||||
def test_xgrids_live_copy_does_not_claim_software_controls_the_physical_scanner() -> None:
|
||||
repository_root = Path(__file__).resolve().parents[1]
|
||||
connection_source = (
|
||||
repository_root
|
||||
/ "apps"
|
||||
/ "control-station"
|
||||
/ "src"
|
||||
/ "device-plugins"
|
||||
/ "xgrids-k1"
|
||||
/ "XgridsK1Connection.tsx"
|
||||
).read_text("utf-8")
|
||||
|
||||
assert "Подготовить приём данных" in connection_source
|
||||
assert "Программная команда запуска на K1 пока не отправляется" in connection_source
|
||||
assert "Остановить локальный приём" in connection_source
|
||||
assert "Физическое состояние сканера остаётся неизвестным" in connection_source
|
||||
|
||||
Reference in New Issue
Block a user