import test from 'node:test'; import assert from 'node:assert/strict'; import {readFileSync} from 'node:fs'; import ts from 'typescript'; const source=readFileSync(new URL('../../../packages/sensor-ui/src/sensorStatus.ts',import.meta.url),'utf8'); const code=ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.ESNext}}).outputText; const {sensorStatus}=await import('data:text/javascript;base64,'+Buffer.from(code).toString('base64')); const connected={online:true,configured:true,prepared:true,verified:false,snapshot:{acquisition:'idle',enrollment:'enrolled'}}; test('a configured, reconnected camera is connected before another frame verification',()=>{ assert.deepEqual(sensorStatus(connected,true),{label:'Подключено',tone:'success'}); }); test('stale board data cannot assert camera connectivity',()=>{ assert.equal(sensorStatus(connected,false).tone,'neutral'); assert.equal(sensorStatus({...connected,online:false},true).label,'Не подключено'); }); test('a capture failure or unavailable driver is not shown as healthy',()=>{ assert.equal(sensorStatus({...connected,snapshot:{acquisition:'failed'}},true).tone,'danger'); assert.equal(sensorStatus({...connected,prepared:false},true).tone,'warning'); }); test('an unconfigured camera still requires preparation',()=>{ assert.deepEqual(sensorStatus({...connected,configured:false},true),{label:'Требуется подготовка',tone:'neutral'}); });