优化
This commit is contained in:
@@ -61,6 +61,11 @@ test('picking page exposes five evidence slots, retry and remote completion stat
|
||||
assert.match(page, /evidenceComplete/)
|
||||
})
|
||||
|
||||
test('PDA evidence binding unwraps the nested loading action response before rendering saved files', () => {
|
||||
assert.match(page, /evidenceItems\(result\)[\s\S]*?Array\.isArray\(result\?\.evidences\?\.evidences\)[\s\S]*?result\.evidences\.evidences/)
|
||||
assert.match(page, /this\.evidenceFiles = this\.evidenceItems\(result\)\.reduce/)
|
||||
})
|
||||
|
||||
test('PDA cabinet picking adapter claims online and submits one atomic batch', () => {
|
||||
assert.match(source, /\/first-leg\/pda-loading\/tasks\/pending/)
|
||||
assert.match(source, /\/first-leg\/pda-loading\/tasks\?/)
|
||||
|
||||
@@ -45,7 +45,7 @@ test('evidence mutations defensively reject calls before picking completion', ()
|
||||
assert.match(page, /requireEvidenceStage\(\)[\s\S]*?if \(!this\.pickingCompleted\)[\s\S]*?请先提交拣货完成[\s\S]*?if \(!this\.loadingStageReady\)/)
|
||||
for (const method of ['chooseEvidence', 'queueEvidenceUpload', 'retryEvidence', 'saveEvidence', 'saveSealNo', 'voidEvidencePhoto', 'completeLoadingTask']) {
|
||||
const body = page.match(new RegExp(`(?:async )?${method}\\([^)]*\\) \\{[\\s\\S]*?\\n\\t\\t\\t\\},`))?.[0] || ''
|
||||
assert.match(body, /if \(!this\.requireEvidenceStage\(\)\) return/, `${method} should guard the evidence stage`)
|
||||
assert.match(body, /if \(!this\.requireEvidenceStage\(\)\)(?: return| \{)/, `${method} should guard the evidence stage`)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -69,6 +69,15 @@ test('camera callbacks cannot append evidence after switching cabinets', () => {
|
||||
assert.match(chooser, /isEvidenceContextActive\(contextId, identity\)[\s\S]*?this\.evidenceFiles =/)
|
||||
})
|
||||
|
||||
test('returning from the camera does not refresh and invalidate the active evidence context', () => {
|
||||
assert.match(page, /cameraPicking: false/)
|
||||
assert.match(page, /onShow\(\) \{[\s\S]*?if \(this\.cameraPicking\)[\s\S]*?choose\.resume[\s\S]*?return[\s\S]*?this\.syncRemoteTask\(\)/)
|
||||
const chooser = page.match(/chooseEvidence\(slot\) \{[\s\S]*?\n\t\t\t\},/)?.[0] || ''
|
||||
assert.match(chooser, /this\.cameraPicking = true/)
|
||||
assert.match(chooser, /success: \(result\) => \{[\s\S]*?this\.cameraPicking = false/)
|
||||
assert.match(chooser, /fail: \(error\) => \{[\s\S]*?this\.cameraPicking = false/)
|
||||
})
|
||||
|
||||
test('evidence save, void and loading completion ignore stale cabinet responses', () => {
|
||||
for (const [method, awaitedCall] of [
|
||||
['saveEvidence', 'upsertEvidence'],
|
||||
|
||||
Reference in New Issue
Block a user