import assert from 'node:assert/strict' import test from 'node:test' import { buildLeaderApprovalInfo, resolveGeneratedDraftClaimNo } from '../src/utils/applicationApproval.js' test('buildLeaderApprovalInfo extracts leader opinion and generated reimbursement draft', () => { const info = buildLeaderApprovalInfo({ profileManager: '王经理', riskFlags: [ { source: 'manual_return', opinion: '需要补充预算口径', created_at: '2026-05-24T09:00:00' }, { source: 'manual_approval', event_type: 'expense_application_approval', operator: 'li.manager@example.com', operator_name: '李经理', opinion: '业务必要,同意申请。', previous_approval_stage: '直属领导审批', next_approval_stage: '审批完成', generated_draft_claim_no: 'EXP-202605-0007', created_at: '2026-05-25T10:15:00' } ] }) assert.deepEqual(info, { opinion: '业务必要,同意申请。', operator: '李经理', time: '2026-05-25 10:15', generatedDraftClaimNo: 'EXP-202605-0007' }) }) test('resolveGeneratedDraftClaimNo reads approval response payload', () => { assert.equal( resolveGeneratedDraftClaimNo({ risk_flags_json: [ { source: 'manual_approval', event_type: 'expense_application_approval', generated_draft_claim_no: 'EXP-202605-0012', created_at: '2026-05-25T11:00:00' } ] }), 'EXP-202605-0012' ) })