From c4a799c99ceaba0df151939f6996cdf16cdeb088 Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Thu, 13 Aug 2026 09:29:00 +0800 Subject: [PATCH] test: cover Sense administrator navigation (#44) --- Sense/ui/tests/navigation.test.cjs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Sense/ui/tests/navigation.test.cjs b/Sense/ui/tests/navigation.test.cjs index c0cf2d2..fb087e2 100644 --- a/Sense/ui/tests/navigation.test.cjs +++ b/Sense/ui/tests/navigation.test.cjs @@ -37,3 +37,29 @@ test('returns no unauthorized or hidden entries', () => { { path: '/', title: '工作台', icon: undefined, order: 0 } ]) }) + +test('administrator receives every Sense MVP navigation entry', () => { + const entries = [ + ['', '工作台', null, 0], + ['devices', '设备管理', 'device.read', 10], + ['admission', '视频接入', 'device.write', 20], + ['media', '视频服务', 'media.read', 30], + ['liveview', '实时监看', 'media.read', 40], + ['areas', '区域与警戒线', 'area.read', 50], + ['users', '用户与权限', 'identity.users.read', 90], + ['audit', '操作记录', 'identity.audit.read', 91] + ] + const routes = [{ path: '/', children: entries.map(([path, title, permission, order]) => ({ + path, + meta: { title, permission, order } + })) }] + const permissions = [ + 'device.read', 'device.write', 'media.read', 'area.read', + 'identity.users.read', 'identity.audit.read' + ] + + assert.deepEqual(buildNavigation(routes, permissions).map((item) => item.title), [ + '工作台', '设备管理', '视频接入', '视频服务', '实时监看', + '区域与警戒线', '用户与权限', '操作记录' + ]) +})