yeg
2026-09-08 cfd4511378aefa04d4e06058cee628b6edd8e9c1
tests/test-ticket23-console-step-regression.test.mjs
@@ -3,7 +3,7 @@
const view = await readFile(new URL('../src/views/TestConsole.vue', import.meta.url), 'utf8')
const dataList = await readFile(new URL('../src/components/ConsoleDataListPanel.vue', import.meta.url), 'utf8')
const liveService = await readFile(new URL('../../BatteryDetection/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestLiveServiceImpl.java', import.meta.url), 'utf8')
const liveService = await readFile(new URL('../../BatteryDetection/battery-business/src/main/java/com/battery/business/service/impl/TTestLiveServiceImpl.java', import.meta.url), 'utf8')
assert.match(view, /<strong>项目参数<\/strong><span>STEP PARAMETERS<\/span>/)
assert.match(view, /testPlan\?\.rows/)
@@ -28,18 +28,21 @@
assert.doesNotMatch(dataList, /<th>逻辑工步<\/th>/)
assert.doesNotMatch(dataList, /<th>实际工步<\/th>/)
assert.match(dataList, /activeTab\.value === 'step' \? stepRows\.value/)
assert.doesNotMatch(view, /:logic-step-mappings=/)
assert.doesNotMatch(view, /:plan-steps=/)
assert.doesNotMatch(view.match(/<ConsoleDataListPanel\b[^]*?\/>/)[0], /:logic-step-mappings=/)
assert.doesNotMatch(view.match(/<ConsoleDataListPanel\b[^]*?\/>/)[0], /:plan-steps=/)
assert.doesNotMatch(dataList, /mappedStepRows/)
assert.doesNotMatch(dataList, /observedStepPositions/)
assert.doesNotMatch(dataList, /sumValue\('capacity'\)/)
assert.doesNotMatch(dataList, /logical-step:/)
assert.match(dataList, /const filteredRows = computed\(\(\) =>\n  sourceRows\.value\.filter/)
assert.match(dataList, /const filteredRows = computed\(\(\) =>\r?\n  sourceRows\.value\.filter/)
assert.match(dataList, /:total="filteredRows\.length"/)
assert.doesNotMatch(dataList, /receptionIntervals/)
assert.match(dataList, /physicalIds/)
assert.match(dataList, /props\.receptionStatus === 'NOT_STARTED'/)
assert.match(liveService, /simulator\.btsTest\(battery\.getBinding\(\)\.getDevid\(\), battery\.getBinding\(\)\.getChlid\(\), 1\)/)
assert.match(await readFile(new URL('../../BatteryDetection/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDevelopmentSimulator.java', import.meta.url), 'utf8'), /Integer cyclePosition/)
// 接收状态只触发同步,当前有效历史不因接收暂停或未开始而在前端清空。
assert.match(dataList, /if \(next !== previous\) void loadRecords\(\)/)
assert.match(liveService, /adapter\.testPlan\(new ChannelIdentity\(binding\.getAdapterCode\(\), binding\.getDevtype\(\)/)
assert.match(liveService, /source\.currentCycleNo\(\), source\.currentStepNo\(\)/)
assert.doesNotMatch(liveService, /simulator\.btsTest/)
assert.match(await readFile(new URL('../../BatteryDetection/battery-device-simulator/src/main/java/com/battery/device/simulator/BtsDevelopmentSimulator.java', import.meta.url), 'utf8'), /new PlanRow\("STEP", index \+ 1, index \+ 1,/)
console.log('Ticket23 实时工步方案与数据列表工步映射回归契约通过')