fix: restore Sense permission navigation (#44)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
const assert = require('node:assert/strict')
|
||||
const test = require('node:test')
|
||||
|
||||
const { buildNavigation } = require('../src/layout/navigation.js')
|
||||
|
||||
test('selects the layout record when normalized routes contain duplicate root paths', () => {
|
||||
const routes = [
|
||||
{ path: '/', name: 'sense-dashboard', children: [], meta: { title: '工作台' } },
|
||||
{ path: '/devices', name: 'sense-devices', children: [], meta: { title: '设备管理' } },
|
||||
{
|
||||
path: '/',
|
||||
children: [
|
||||
{ path: 'devices', meta: { title: '设备管理', permission: 'device.read', order: 10 } },
|
||||
{ path: '', meta: { title: '工作台', order: 0 } },
|
||||
{ path: 'users', meta: { title: '用户与权限', permission: 'identity.users.read', order: 90 } }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
assert.deepEqual(buildNavigation(routes, ['device.read']), [
|
||||
{ path: '/', title: '工作台', icon: undefined, order: 0 },
|
||||
{ path: '/devices', title: '设备管理', icon: undefined, order: 10 }
|
||||
])
|
||||
})
|
||||
|
||||
test('returns no unauthorized or hidden entries', () => {
|
||||
const routes = [{
|
||||
path: '/',
|
||||
children: [
|
||||
{ path: '', meta: { title: '工作台' } },
|
||||
{ path: 'users', meta: { title: '用户与权限', permission: 'identity.users.read' } },
|
||||
{ path: 'internal', meta: { title: '内部页', hidden: true } }
|
||||
]
|
||||
}]
|
||||
|
||||
assert.deepEqual(buildNavigation(routes), [
|
||||
{ path: '/', title: '工作台', icon: undefined, order: 0 }
|
||||
])
|
||||
})
|
||||
Reference in New Issue
Block a user