check-device-flight.mjs 1.5 KB

12345678910111213141516171819
  1. // ⑦ 设备点选镜头联动断言(NONE→EQUIPMENT 修复,走查第 5 项)
  2. import { planDeviceFlight, DEVICE_FLIGHT } from '../../../src/modules/cockpit/domain/deviceCorrespondence.js'
  3. import { DETAIL_LEVEL } from '../../../src/modules/cockpit/domain/detailFlow.js'
  4. let pass = 0
  5. let fail = 0
  6. const eq = (a, e, l) => {
  7. if (JSON.stringify(a) === JSON.stringify(e)) { pass++; console.log(` ✓ ${l}`) } else { fail++; console.log(` ✗ ${l} 期望 ${e} 实际 ${a}`) }
  8. }
  9. console.log('⑦ 设备点选镜头联动(NONE→EQUIPMENT 修复)')
  10. eq(planDeviceFlight({ fromLevel: 'none', toLevel: DETAIL_LEVEL.EQUIPMENT }), DEVICE_FLIGHT.DEVICE_TIER, 'NONE→设备级 = 飞设备档(本次修复)')
  11. eq(planDeviceFlight({ fromLevel: DETAIL_LEVEL.POINT, toLevel: DETAIL_LEVEL.EQUIPMENT }), DEVICE_FLIGHT.DEVICE_TIER, '点位级→设备级 = 飞设备档(不变)')
  12. eq(planDeviceFlight({ fromLevel: DETAIL_LEVEL.EQUIPMENT, toLevel: DETAIL_LEVEL.EQUIPMENT, fromDeviceCode: 'A', toDeviceCode: 'B' }), DEVICE_FLIGHT.CENTER_ONLY, '设备级 A→B = 只换中心(不变)')
  13. eq(planDeviceFlight({ fromLevel: DETAIL_LEVEL.EQUIPMENT, toLevel: DETAIL_LEVEL.EQUIPMENT, fromDeviceCode: 'A', toDeviceCode: 'A' }), DEVICE_FLIGHT.NONE, '设备级重复点同一台 = 不动(不变)')
  14. eq(planDeviceFlight({ fromLevel: DETAIL_LEVEL.EQUIPMENT, toLevel: DETAIL_LEVEL.POINT }), DEVICE_FLIGHT.POINT_TIER, '设备级→点位级 = 回点位档(不变)')
  15. console.log(` ${pass} 过 / ${fail} 败`)
  16. if (fail) process.exitCode = 1