| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import assert from 'node:assert/strict'
- import { groupMenusByRegion, resolveRegionMeta } from './menu-regions.js'
- assert.deepEqual(resolveRegionMeta('市场部'), {
- key: 'market',
- title: '市场部',
- hint: '存储现场',
- tone: 'market'
- })
- assert.deepEqual(resolveRegionMeta('OA工作流'), {
- key: 'oa',
- title: 'OA工作流',
- hint: '审批协同',
- tone: 'oa'
- })
- assert.equal(resolveRegionMeta('').key, 'other')
- assert.equal(resolveRegionMeta(null).tone, 'other')
- const menus = [
- {
- id: '1',
- title: '发起审批',
- groupTitle: 'OA工作流',
- path: '/pages/oa/start/index'
- },
- {
- id: '2',
- title: '预签约订单(专员)',
- groupTitle: '市场部',
- path: '/pages/market/webview/index?entry=specialist-presign'
- },
- {
- id: '3',
- title: '待办中心',
- groupTitle: 'OA工作流',
- path: '/pages/oa/pending/index'
- },
- {
- id: '4',
- title: '协议单(经理)',
- groupTitle: '市场部',
- path: '/pages/market/webview/index?entry=manager-protocol'
- },
- {
- id: '5',
- title: '孤立入口',
- path: '/pages/demo/index'
- }
- ]
- const regions = groupMenusByRegion(menus)
- assert.equal(regions.length, 3)
- assert.deepEqual(
- regions.map((r) => r.title),
- ['市场部', 'OA工作流', '其他']
- )
- assert.deepEqual(
- regions[0].menus.map((m) => m.id),
- ['2', '4']
- )
- assert.deepEqual(
- regions[1].menus.map((m) => m.id),
- ['1', '3']
- )
- assert.equal(regions[0].tone, 'market')
- assert.equal(regions[1].tone, 'oa')
- assert.equal(regions[2].tone, 'other')
- assert.deepEqual(groupMenusByRegion([]), [])
- console.log('menu-regions.test.js ok')
|