test(finance): align full acceptance with current workflows

This commit is contained in:
2026-09-01 10:17:03 +08:00
parent 505188c3fd
commit 3d6216910f
6 changed files with 80 additions and 38 deletions
@@ -8,6 +8,7 @@ const LEGACY_STATEMENT_VIEW_PERMISSION = 'platform:finance:bill:view'
const REQUIRED_PERMISSIONS = [
'platform:finance:customer-account:list',
'platform:finance:customer-arap:list',
'platform:finance:fee-source:edit',
'platform:finance:fee-source:review',
STATEMENT_LIST_PERMISSION,
'platform:finance:reconciliation:create',
@@ -172,6 +173,16 @@ async function approveFixtureSources(context, fixture) {
let detail = context.apiSuccess(MODULE, '回读本轮 Finance 费用来源审核状态', detailResponse,
`feeSourceId=${source.feeSourceId}`, OPTIONS)
if (!detail) return false
if (detail.reviewStatus === 'DRAFT' || detail.reviewStatus === 'REJECTED') {
const submitResponse = await write(context, 'POST', `${BASE}/fee-sources/${encodeURIComponent(source.feeSourceId)}/submit`, {
reason: context.marker, expectedVersion: Number(detail.operationVersion),
}, `fee-source-submit-${source.feeSourceId}`)
detail = context.apiSuccess(MODULE, '提交本轮 Finance 费用来源审核', submitResponse,
`feeSourceId=${source.feeSourceId}`, OPTIONS)
context.assert(MODULE, '费用来源提交后进入待审核', submitResponse,
detail?.reviewStatus === 'PENDING' && detail?.sourceStatus === 'AVAILABLE',
`feeSourceId=${source.feeSourceId}, reviewStatus=${detail?.reviewStatus ?? 'missing'}, sourceStatus=${detail?.sourceStatus ?? 'missing'}`, OPTIONS)
}
if (detail.reviewStatus === 'PENDING') {
const reviewResponse = await write(context, 'POST', `${BASE}/fee-sources/${encodeURIComponent(source.feeSourceId)}/review`, {
action: 'APPROVE', reason: context.marker, expectedVersion: Number(detail.operationVersion),