import test from 'node:test' import assert from 'node:assert/strict' import { readFile } from 'node:fs/promises' const page = await readFile(new URL('../pages/picking/picking.vue', import.meta.url), 'utf8') test('saving a seal is single-flight and submits the pending photo through the atomic evidence command', () => { assert.match(page, /:disabled="sealSaving \|\| !sealReadyToSave"/) assert.match(page, /sealSaving \? '保存中…' : '保存封签'/) assert.match(page, /async saveSealNo\(\) \{[\s\S]*?if \(this\.sealSaving\) return/) assert.match(page, /find\(\(item\) => item\.localPath && !item\.id\)/) assert.match(page, /await this\.queueEvidenceUpload\('SEAL', current\.localPath, String\(this\.sealNo\)\.trim\(\)\)/) assert.match(page, /stableOperationId\('evidence-upload',[\s\S]*?evidenceType: type,[\s\S]*?expectedVersion,[\s\S]*?localPath: path,[\s\S]*?sealNo: sealNo \|\| ''/) assert.doesNotMatch(page, /seal-no-[^\n]*Date\.now\(\)/) assert.match(page, /this\.sealSaving = true[\s\S]*?finally \{[\s\S]*?this\.sealSaving = false/) }) test('server-returned evidence is deduplicated by type and file id', () => { assert.match(page, /const seen = new Set\(\)/) assert.match(page, /item\.evidenceType[\s\S]*?item\.fileId/) assert.match(page, /if \(seen\.has\(key\)\) return false/) })