feat: 同步报销流程与工作台改动

This commit is contained in:
caoxiaozhu
2026-06-09 08:32:00 +00:00
parent e124e4bbcb
commit 25724c354f
64 changed files with 6518 additions and 687 deletions

View File

@@ -87,7 +87,7 @@ test('platform admin users do not enter the personal workbench', () => {
assert.equal(canAccessAppView(adminUser, 'workbench'), false)
assert.equal(canAccessAppView(employeeUser, 'workbench'), true)
assert.equal(getAccessibleViewIds(adminUser).includes('workbench'), false)
assert.deepEqual(resolveDefaultAuthorizedRoute(adminUser), { name: 'app-overview' })
assert.deepEqual(resolveDefaultAuthorizedRoute(adminUser), { name: 'app-documents' })
assert.deepEqual(
filterNavItemsByAccess(navItems, adminUser).map((item) => item.id),
['documents', 'overview', 'settings']
@@ -201,6 +201,30 @@ test('direct-manager approval helpers only match claims pushed to the current us
assert.equal(isCurrentDirectManagerForRequest({ person: '张三', managerName: '王总' }, managerUser), false)
})
test('approver executive users can process claims routed to their direct-manager identity', () => {
const leaderUser = {
roleCodes: ['approver', 'executive'],
name: 'Xiang Wanhong',
username: 'xiangwanhong@xf.com'
}
assert.equal(canApproveLeaderExpenseClaims(leaderUser), true)
assert.equal(
isCurrentDirectManagerForRequest(
{ person: 'Shen Zhiyuan', managerName: 'Xiang Wanhong' },
leaderUser
),
true
)
assert.equal(
isCurrentDirectManagerForRequest(
{ person: 'Xiang Wanhong', managerName: 'Li Wenjing' },
leaderUser
),
false
)
})
test('applicant helper matches generated draft owner by employee identifiers', () => {
const currentUser = {
username: 'caoxiaozhu@xf.com',