waterSupplyUiModel.test.mjs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import test from 'node:test'
  2. import assert from 'node:assert/strict'
  3. import {
  4. normalizeDeviceRow,
  5. buildMaintainOrderPayload,
  6. getDeviceOrderEndpoint
  7. } from '../src/utils/waterSupplyUiModel.js'
  8. test('normalizes alarm and related work-order fields for device pages', () => {
  9. const row = normalizeDeviceRow({
  10. equipmentId: 'EQ-1',
  11. equipmentCode: 'P-001',
  12. equipmentName: '一号压力计',
  13. alarmStatus: 1,
  14. alertLevel: 2,
  15. latestOrderNo: 'WO202606101703482640',
  16. latestMaintainStatus: '处理中'
  17. })
  18. assert.equal(row.deviceStatusText, '报警')
  19. assert.equal(row.alarmLevelText, '二级报警')
  20. assert.equal(row.relatedOrderNo, 'WO202606101703482640')
  21. assert.equal(row.workOrderStatusText, '处理中')
  22. })
  23. test('builds a repair dispatch payload with the selected responsible user', () => {
  24. const payload = buildMaintainOrderPayload(
  25. { equipmentId: 'EQ-1', equipmentCode: 'P-001', equipmentName: '一号压力计' },
  26. { description: '压力低于阈值', receiveUserId: 18 }
  27. )
  28. assert.deepEqual(payload, {
  29. equipmentId: 'EQ-1',
  30. equipmentCode: 'P-001',
  31. equipmentName: '一号压力计',
  32. maintainType: '故障维修',
  33. maintainContent: '压力低于阈值',
  34. receiveUserId: 18
  35. })
  36. })
  37. test('uses the abnormal-device order endpoint for device repair dispatch', () => {
  38. assert.equal(getDeviceOrderEndpoint('dispatch'), '/waterSupply/device/abnormal/order')
  39. assert.equal(getDeviceOrderEndpoint('abnormal'), null)
  40. })