feat: 风险可见性控制与差旅详情页交互优化
- 新增风险可见性工具函数与风险日趋势图表组件 - 优化差旅请求详情页费用模型与视图交互 - 完善顶部导航栏样式与应用壳路由逻辑 - 补充风险可见性、风险看板与差旅详情测试覆盖
This commit is contained in:
@@ -105,6 +105,43 @@ test('reimbursement submitter sees only fixable claim risks', () => {
|
||||
assert.deepEqual(visibleCards.map((card) => card.id), ['ticket-date'])
|
||||
})
|
||||
|
||||
test('reimbursement detail still shows submitter-fixable attachment risks when viewer identity is incomplete', () => {
|
||||
const request = {
|
||||
id: 'RE-20260603083825-876B85XW',
|
||||
claimId: '2ad80b25-b153-407e-91be-ed2651045fb1',
|
||||
documentTypeCode: 'claim',
|
||||
approvalKey: 'draft',
|
||||
node: 'pending-submit',
|
||||
employeeId: 'EMP-CLAIM-OWNER',
|
||||
typeCode: 'travel',
|
||||
expenseItems: []
|
||||
}
|
||||
const currentUserWithoutEmployeeMatch = {
|
||||
id: 'FRONTEND-AUTH-SNAPSHOT',
|
||||
employeeId: '',
|
||||
name: '',
|
||||
roleCodes: []
|
||||
}
|
||||
const cards = [
|
||||
{
|
||||
id: 'hotel-limit-risk',
|
||||
source: 'attachment_analysis',
|
||||
businessStage: 'reimbursement',
|
||||
tone: 'high',
|
||||
risk: 'hotel limit exceeded',
|
||||
risk_domain: 'invoice',
|
||||
visibility_scope: 'submitter',
|
||||
actionability: 'fixable_by_submitter'
|
||||
}
|
||||
]
|
||||
|
||||
const visibleCards = filterRiskCardsForVisibility(cards, {
|
||||
request,
|
||||
currentUser: currentUserWithoutEmployeeMatch
|
||||
})
|
||||
assert.deepEqual(visibleCards.map((card) => card.id), ['hotel-limit-risk'])
|
||||
})
|
||||
|
||||
test('finance can see reimbursement compliance risks but not budget governance detail', () => {
|
||||
const request = {
|
||||
id: 'RE-202606010002',
|
||||
|
||||
Reference in New Issue
Block a user