feat(admin): register phase3 service center routes

This commit is contained in:
2026-08-11 11:30:30 +08:00
parent c8eb2d75cd
commit 17d483bf21
4 changed files with 52 additions and 0 deletions
@@ -35,6 +35,13 @@ describe('adminNavigation', () => {
'库位管理',
'托盘管理',
])
expect(adminNavigation.find((item) => item.key === 'service-center')?.children?.map((item) => item.title)).toEqual([
'订舱列表',
'船期信息',
'拖车列表',
'报关协同',
'国内出仓',
])
expect(adminNavigation.find((item) => item.key === 'supplier-center')?.children?.map((item) => item.title)).toEqual([
'供应商列表',
'快递公司',
@@ -89,6 +96,9 @@ describe('adminNavigation', () => {
expect(paths).toContain('/container-loading/smart-loading')
expect(paths).toContain('/loading-plans')
expect(paths).toContain('/loading-lists')
expect(paths).toContain('/port-schedules')
expect(paths).toContain('/customs')
expect(paths).toContain('/outbound-dispatches')
expect(paths).not.toContain('/prototype/container-management/container-list')
expect(paths).not.toContain('/prototype/container-management/preload-list')
expect(paths).not.toContain('/prototype/container-management/manifest')
@@ -166,6 +176,25 @@ describe('adminNavigation', () => {
])
})
it('shows each phase-three service center entry only with its matching permission', () => {
const filtered = filterAdminNavigation(adminNavigation, new Set([
'platform:firstleg:ocean-booking:list',
'platform:firstleg:port-schedule:list',
'platform:firstleg:truck-appointment:list',
'platform:firstleg:customs:list',
'platform:firstleg:outbound-dispatch:list',
]))
expect(getNavigationLeaves(filtered).map((item) => item.path)).toEqual([
'/dashboard',
'/ocean-bookings',
'/port-schedules',
'/trucking',
'/customs',
'/outbound-dispatches',
])
})
it('supports manually hiding a module without removing its route definition', () => {
const filtered = filterAdminNavigation([{ key: 'hidden', title: '隐藏模块', icon: adminNavigation[0].icon, path: '/hidden', hidden: true }], new Set())