test(acceptance): reuse fixed customers and align native fulfillment flows

This commit is contained in:
2026-10-23 04:48:02 +08:00
parent b92f7fe991
commit 139f6b1932
51 changed files with 1076 additions and 228 deletions
@@ -117,11 +117,19 @@ test('final acceptance reconciles terminal task and one completion audit after o
assert.match(loadingPickService, /private void finalizeCompletion/)
})
test('PDA treats accepted completion as processing, returns to list, and never claims completion early', () => {
test('PDA observes authoritative completion and keeps processing distinct from success', () => {
assert.match(pdaCompletionState, /PROCESSING_STATUSES = new Set\(\['COMPLETING', 'PROCESSING'\]\)/)
assert.match(pdaCompletionTests, /accepted completion is processing/)
assert.match(pdaPage, /loading-completion-state/)
assert.match(pdaPage, /(?:PROCESSING|COMPLETING)[\s\S]{0,1200}navigateBackOr/)
const method = pdaPage.match(/async completeLoadingTask\(\) \{[\s\S]*?\n\t\t\t\},/)?.[0]
assert.ok(method)
assert.match(method, /await observeLoadingCompletion\(/)
const processing = method.match(/if \(phase === COMPLETION_PHASE\.PROCESSING\) \{([^}]+)\}/)?.[1]
assert.ok(processing)
assert.match(processing, /persistSession\(\)/)
assert.match(processing, /return/)
assert.doesNotMatch(processing, /navigateBackOr|['"]success['"]|装柜已完成/)
assert.match(pdaCompletionTests, /page only announces success without persisting a replay request after authoritative completion/)
assert.doesNotMatch(pdaPage, /completeContainerPickingTask[\s\S]{0,700}showToast\('已确认装柜完成'/,
'accepted PROCESSING response must not show a completed success toast')
assert.match(pdaPage, /shouldReconcileCompletion/)