Fix onboard K1 enrollment continuity and share named acquisition preparation
This commit is contained in:
@@ -1991,7 +1991,7 @@ test("observed SCANNING recovery is a successful STOP-only connection outcome",
|
||||
);
|
||||
assert.ok(
|
||||
acquisitionSource.indexOf("terminalPhysicalStopObserved ? (")
|
||||
< acquisitionSource.indexOf("<div className=\"scan-configuration-grid\">"),
|
||||
< acquisitionSource.indexOf("<K1AcquisitionFields"),
|
||||
"recovered SCANNING must render the STOP-only branch before project/START controls",
|
||||
);
|
||||
});
|
||||
|
||||
@@ -21,6 +21,8 @@ const render=(value,enabled=true)=>renderToStaticMarkup(createElement(Detail,{de
|
||||
test('manual K1 surface admits one START only after current control proof',()=>{
|
||||
const markup=render(device);
|
||||
assert.match(markup,/Инициировать запуск/);
|
||||
assert.match(markup,/<button[^>]*disabled=""[^>]*>Инициировать запуск<\/button>/);
|
||||
for(const label of ['Тип установки / носитель','Режим GNSS','Название проекта'])assert.ok(markup.includes(label));
|
||||
assert.match(markup,/Настройки устройства/);
|
||||
assert.doesNotMatch(markup,/Остановить устройство|Обновить просмотр|sensor-live-layout/);
|
||||
const waiting={...device,online:false,verified:false,control:{...device.control,can_start:false,network_applied:true,reason_code:'application_authority_unavailable'}};
|
||||
@@ -36,7 +38,7 @@ test('active acquisition exposes STOP and Rerun without another START',()=>{
|
||||
const markup=render(active);
|
||||
assert.match(markup,/Остановить устройство/);
|
||||
assert.match(markup,/rerun-viewport__canvas/);
|
||||
assert.match(markup,/>Статус</);
|
||||
assert.doesNotMatch(markup,/>Статус</);
|
||||
assert.match(markup,/>Пространственная сцена</);
|
||||
for(const label of ['Движок','Слои','Отображение','Камера K1','Окно накопления облака точек'])assert.ok(markup.includes(label));
|
||||
assert.ok(markup.includes('data-presented="false"'));
|
||||
|
||||
@@ -195,3 +195,12 @@ test('lost BLE candidate tells the operator to rescan without blaming Ethernet o
|
||||
assert.match(notice,/Настройки Wi-Fi не были отправлены/);
|
||||
assert.doesNotMatch(notice,/пароль|Ethernet/);
|
||||
});
|
||||
|
||||
|
||||
test('pending enrollment is presented by its action button without a second notice',()=>{
|
||||
for(const phase of ['connecting','network_applied']){
|
||||
assert.equal(api.enrollmentNotice({...initial,connection_attempt:{
|
||||
schema_version:'missioncore.xgrids-k1-connection-attempt/v1',attempt_id:'test',status:'running',phase,
|
||||
}}),'');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@ import sys
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
VERSION = "0.8.10"
|
||||
VERSION = "0.8.11"
|
||||
sys.path.insert(0, str(ROOT.parents[1] / "scripts/packaging"))
|
||||
from debian import package
|
||||
|
||||
|
||||
Reference in New Issue
Block a user