refactor: enforce 800 line source limits
This commit is contained in:
@@ -105,6 +105,14 @@ test('attachment upload association uses conversation selection instead of legac
|
||||
fileURLToPath(new URL('../src/views/scripts/useTravelReimbursementSubmitComposer.js', import.meta.url)),
|
||||
'utf8'
|
||||
)
|
||||
const submitAttachmentFlowSource = readFileSync(
|
||||
fileURLToPath(new URL('../src/views/scripts/travelReimbursementSubmitAttachmentFlow.js', import.meta.url)),
|
||||
'utf8'
|
||||
)
|
||||
const submitDraftPreflightSource = readFileSync(
|
||||
fileURLToPath(new URL('../src/views/scripts/travelReimbursementSubmitDraftPreflight.js', import.meta.url)),
|
||||
'utf8'
|
||||
)
|
||||
const flowSource = readFileSync(
|
||||
fileURLToPath(new URL('../src/views/scripts/useTravelReimbursementFlow.js', import.meta.url)),
|
||||
'utf8'
|
||||
@@ -118,17 +126,17 @@ test('attachment upload association uses conversation selection instead of legac
|
||||
assert.doesNotMatch(submitComposerSource, /uploadDecisionDialogOpen|hasExistingDocumentEvent|skipUploadDecisionPrompt/)
|
||||
assert.doesNotMatch(submitComposerSource, /查询可关联草稿失败,已继续按新单据识别/)
|
||||
assert.match(
|
||||
submitComposerSource,
|
||||
submitDraftPreflightSource,
|
||||
/const claims = await fetchExpenseClaims\(\)[\s\S]*const queryPayload = buildDraftAssociationQueryPayload\(claims\)[\s\S]*meta: \['等待选择关联单据'\][\s\S]*queryPayload/
|
||||
)
|
||||
assert.match(submitComposerSource, /meta: \['单据查询失败'\][\s\S]*return null/)
|
||||
assert.match(submitDraftPreflightSource, /meta: \['单据查询失败'\][\s\S]*return \{ handled: true, value: null \}/)
|
||||
assert.match(
|
||||
submitComposerSource,
|
||||
submitDraftPreflightSource,
|
||||
/files\.length[\s\S]*!resolvedUploadDisposition[\s\S]*!options\.skipDraftAssociationPrompt[\s\S]*!reviewAction/
|
||||
)
|
||||
assert.match(submitComposerSource, /mode:\s*'save_then_associate'/)
|
||||
assert.match(submitComposerSource, /review_action:\s*'save_draft'[\s\S]*review_action:\s*'link_to_existing_draft'/)
|
||||
assert.match(submitComposerSource, /appendToCurrentFlow:\s*true/)
|
||||
assert.match(submitDraftPreflightSource, /mode:\s*'save_then_associate'/)
|
||||
assert.match(submitAttachmentFlowSource, /review_action:\s*'save_draft'[\s\S]*review_action:\s*'link_to_existing_draft'/)
|
||||
assert.match(submitAttachmentFlowSource, /appendToCurrentFlow:\s*true/)
|
||||
assert.match(submitComposerSource, /const appendToCurrentFlow = Boolean\(options\.appendToCurrentFlow\)/)
|
||||
assert.match(submitComposerSource, /if \(!appendToCurrentFlow\) \{\s*resetFlowRun\(\)\s*\} else \{\s*clearFlowSimulationTimers\(\)/)
|
||||
assert.match(flowSource, /link_to_existing_draft:\s*\{[\s\S]*key:\s*'attachment-association'/)
|
||||
@@ -289,14 +297,14 @@ test('receipt files are collected through a single OCR persistence entry before
|
||||
{ filename: 'invoice.png', kind: 'image', url: 'data:image/png;base64,abc123' }
|
||||
])
|
||||
|
||||
const submitComposerSource = readFileSync(
|
||||
fileURLToPath(new URL('../src/views/scripts/useTravelReimbursementSubmitComposer.js', import.meta.url)),
|
||||
const submitRecognitionFlowSource = readFileSync(
|
||||
fileURLToPath(new URL('../src/views/scripts/travelReimbursementSubmitRecognitionFlow.js', import.meta.url)),
|
||||
'utf8'
|
||||
)
|
||||
assert.match(submitComposerSource, /collectReceiptFiles\(/)
|
||||
assert.doesNotMatch(submitComposerSource, /recognizeOcrFiles\(files,[\s\S]*attachReceiptFolderIdsToFiles/)
|
||||
assert.doesNotMatch(submitComposerSource, /ocrDocuments = normalizeOcrDocuments\(ocrPayload\)/)
|
||||
assert.doesNotMatch(submitComposerSource, /ocrFilePreviews = buildOcrFilePreviews\(ocrPayload\)/)
|
||||
assert.match(submitRecognitionFlowSource, /collectReceiptFiles\(/)
|
||||
assert.doesNotMatch(submitRecognitionFlowSource, /recognizeOcrFiles\(files,[\s\S]*attachReceiptFolderIdsToFiles/)
|
||||
assert.doesNotMatch(submitRecognitionFlowSource, /ocrDocuments = normalizeOcrDocuments\(ocrPayload\)/)
|
||||
assert.doesNotMatch(submitRecognitionFlowSource, /ocrFilePreviews = buildOcrFilePreviews\(ocrPayload\)/)
|
||||
})
|
||||
|
||||
test('file preview cache replaces temporary object urls and never persists them', () => {
|
||||
|
||||
Reference in New Issue
Block a user