44 lines
2.1 KiB
TypeScript
44 lines
2.1 KiB
TypeScript
import {
|
|
getFrameworkWorkspaceParams,
|
|
getWorkspaceItem,
|
|
WORKSPACE_SECTIONS,
|
|
WORKSPACE_REDIRECTS,
|
|
} from './workspace-navigation'
|
|
|
|
describe('workspace navigation', () => {
|
|
it('合并重复导航入口,并为未接入项生成独立框架页', () => {
|
|
const items = WORKSPACE_SECTIONS.flatMap((section) => section.items)
|
|
const hrefs = items.map((item) => item.href)
|
|
|
|
expect(items).toHaveLength(14)
|
|
expect(new Set(hrefs).size).toBe(14)
|
|
expect(getFrameworkWorkspaceParams()).toHaveLength(7)
|
|
expect(getWorkspaceItem('business', 'brand-building')).toBeNull()
|
|
expect(WORKSPACE_SECTIONS.find((section) => section.key === 'business')?.items).toEqual([
|
|
expect.objectContaining({ key: 'performance-conversion', title: '业绩转化' }),
|
|
])
|
|
expect(getWorkspaceItem('dashboard', 'core-metrics')?.item.title).toBe('核心指标')
|
|
expect(getWorkspaceItem('assets', 'material-library')?.item.status).toBe('connected')
|
|
expect(getWorkspaceItem('assets', 'automation-workflows')?.item.status).toBe('connected')
|
|
expect(getWorkspaceItem('assets', 'value-metrics')?.item).toMatchObject({
|
|
status: 'connected',
|
|
productName: '素材资产库复用率',
|
|
})
|
|
expect(getWorkspaceItem('governance', 'permissions')?.item).toMatchObject({
|
|
title: '权限管理',
|
|
href: '/workspaces/governance/permissions',
|
|
status: 'connected',
|
|
})
|
|
expect(getWorkspaceItem('organization', 'organization-structure')?.item).toMatchObject({
|
|
href: '/workspaces/organization/organization-structure',
|
|
status: 'connected',
|
|
productName: '公司与品牌中心组织架构',
|
|
})
|
|
expect(getWorkspaceItem('governance', 'data-definitions')).toBeNull()
|
|
expect(getWorkspaceItem('organization', 'team-functions')?.item.status).toBe('connected')
|
|
expect(getWorkspaceItem('governance', 'user-permissions')).toBeNull()
|
|
expect(WORKSPACE_REDIRECTS['governance/user-permissions']).toBe('/workspaces/governance/permissions?view=people')
|
|
expect(WORKSPACE_REDIRECTS['governance/data-definitions']).toBe('/workspaces/organization/organization-structure?scope=company')
|
|
})
|
|
})
|