test(admin): retain PDA batch gap until verified

This commit is contained in:
2026-08-11 11:46:23 +08:00
parent 9b3ff06a90
commit 29c010e28f
2 changed files with 10 additions and 3 deletions
@@ -318,11 +318,12 @@ export async function run(context) {
const canonicalBatchReplay = await request(context, 'POST', batchPath, batchPayload,
{ 'Idempotency-Key': batchKey })
context.assert(MODULE, 'PDA 原子批次同参同键重放返回同一终态', canonicalBatchReplay,
canonicalBatchReplay.http === 200 && codeOf(canonicalBatchReplay) === '200'
const atomicBatchReplayVerified = canonicalBatchReplay.http === 200 && codeOf(canonicalBatchReplay) === '200'
&& id(canonicalBatchReplay.body?.data?.id) === canonicalTaskId
&& canonicalBatchReplay.body?.data?.taskStatus === 'COMPLETED'
&& Number(canonicalBatchReplay.body?.data?.version) === Number(pickedCanonical?.version),
&& Number(canonicalBatchReplay.body?.data?.version) === Number(pickedCanonical?.version)
context.assert(MODULE, 'PDA 原子批次同参同键重放返回同一终态', canonicalBatchReplay,
atomicBatchReplayVerified,
`HTTP=${canonicalBatchReplay.http}, code=${codeOf(canonicalBatchReplay)}, taskVersion=${canonicalBatchReplay.body?.data?.version ?? 'missing'}`, OPTIONS)
// The deployed settlement contract completes a one-item task during pick. A
@@ -493,6 +494,7 @@ export async function run(context) {
voidedEvidenceId: id(voidTarget?.id), evidenceTypes,
loadingPlanId, containerBookingId, containerNo, warehouseId, canonicalPdaTaskId: canonicalTaskId,
pickingTaskId: canonicalTaskId, inboundVersion: loadingVersion,
atomicBatchVerified: directPdaCompletion && atomicBatchReplayVerified,
marker: context.marker, inboundStatus: 'LOADING', loadingPlanStatus: 'COMPLETED', finalStatus: 'COMPLETED',
}
}