feat(web): 工作台 AI 模式与差旅/风险建议交互优化
- 新增 PersonalWorkbenchAiMode 组件、AI 侧边栏与 orb 机器人视觉资源 - 新增 aiApplicationDraftModel / aiExpenseDraftModel / aiWorkbenchConversationStore 及业务准入 aiSidebarBusinessAccess,支撑 AI 模式下的申请与报销草稿 - 顶栏、侧边栏、工作台样式重构,适配 AI 模式切换与响应式布局 - 同步 steward plan/off_topic、差旅报销引导流、风险建议卡片等测试
This commit is contained in:
39
web/tests/ai-sidebar-business-access.test.mjs
Normal file
39
web/tests/ai-sidebar-business-access.test.mjs
Normal file
@@ -0,0 +1,39 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
|
||||
import { resolveAiSidebarBusinessViewIds } from '../src/utils/aiSidebarBusinessAccess.js'
|
||||
|
||||
test('AI sidebar shows three business entries for regular employees', () => {
|
||||
assert.deepEqual(resolveAiSidebarBusinessViewIds({ name: '普通员工', roleCodes: [] }), [
|
||||
'documents',
|
||||
'receiptFolder',
|
||||
'policies'
|
||||
])
|
||||
})
|
||||
|
||||
test('AI sidebar adds budget management for budget monitors', () => {
|
||||
assert.deepEqual(resolveAiSidebarBusinessViewIds({ name: '预算管理员', roleCodes: ['budget_monitor'] }), [
|
||||
'documents',
|
||||
'receiptFolder',
|
||||
'policies',
|
||||
'budget'
|
||||
])
|
||||
})
|
||||
|
||||
test('AI sidebar adds finance capabilities for finance users', () => {
|
||||
assert.deepEqual(resolveAiSidebarBusinessViewIds({ name: '财务负责人', roleCodes: ['finance'] }), [
|
||||
'documents',
|
||||
'receiptFolder',
|
||||
'policies',
|
||||
'overview',
|
||||
'audit',
|
||||
'digitalEmployees'
|
||||
])
|
||||
})
|
||||
|
||||
test('AI sidebar keeps workbench and settings out of the steward business layer', () => {
|
||||
const viewIds = resolveAiSidebarBusinessViewIds({ username: 'admin', isAdmin: true, roleCodes: ['admin'] })
|
||||
|
||||
assert.equal(viewIds.includes('workbench'), false)
|
||||
assert.equal(viewIds.includes('settings'), false)
|
||||
})
|
||||
Reference in New Issue
Block a user