waterHomeRouteResolver.test.mjs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import test from 'node:test'
  2. import assert from 'node:assert/strict'
  3. import { resolveWaterHomeRoute } from '../src/router/waterHomeRouteResolver.js'
  4. test('resolves dedicated water routes by canonical suffix', () => {
  5. const route = resolveWaterHomeRoute([
  6. { path: '/subSystem/waterSupply/monitorAlarm/index', meta: { title: '报警管理' } },
  7. { path: '/subSystem/waterSupply/monitorAlarm/audit', meta: { title: '报警审核' } }
  8. ], '/monitorAlarm/index')
  9. assert.equal(route.path, '/subSystem/waterSupply/monitorAlarm/index')
  10. })
  11. test('resolves legacy shared alarm menus without changing database routes', () => {
  12. const routes = [
  13. { path: '/subSystem/alarm/alarmList', meta: { title: '报警管理' }, query: { rootTypeId: 1 } },
  14. { path: '/subSystem/alarm/alarmAudit', meta: { title: '报警审核' }, query: { rootTypeId: 1 } }
  15. ]
  16. assert.equal(resolveWaterHomeRoute(routes, '/monitorAlarm/index').path, '/subSystem/alarm/alarmList')
  17. assert.equal(resolveWaterHomeRoute(routes, '/monitorAlarm/audit').path, '/subSystem/alarm/alarmAudit')
  18. })
  19. test('does not select an unrelated subsystem route with the same title', () => {
  20. const routes = [
  21. { path: '/subSystem/drainage/monitorAlarm/index', meta: { title: '报警管理' } },
  22. { path: '/subSystem/waterSupply/monitorAlarm/index', meta: { title: '报警管理' }, query: { rootTypeId: 1 } }
  23. ]
  24. assert.equal(resolveWaterHomeRoute(routes, '/monitorAlarm/index').path, '/subSystem/waterSupply/monitorAlarm/index')
  25. })
  26. test('returns null when the requested entry is not registered', () => {
  27. assert.equal(resolveWaterHomeRoute([{ path: '/404', meta: { title: '页面不存在' } }], '/monitorAlarm/index'), null)
  28. })