This commit is contained in:
2026-10-27 17:39:19 +08:00
parent b5d8ccdffe
commit c148912b73
49 changed files with 1134 additions and 464 deletions
@@ -0,0 +1,18 @@
import { describe, expect, it } from 'vitest'
import { requireReviewedProcurementFees } from './procurementOutboundFees'
describe('procurement outbound fee gate', () => {
const approved = { direction: 'RECEIVABLE' as const, sourceStatus: 'ACTIVE', reviewStatus: 'APPROVED' }
it('requires a current receivable, excluding voided fees and payables', () => {
for (const rows of [[], [{ ...approved, sourceStatus: 'VOIDED' }], [{ ...approved, direction: 'PAYABLE' as const }]]) {
expect(() => requireReviewedProcurementFees(rows)).toThrow('请先添加费用明细')
}
})
it('requires every current fee to be active and approved', () => {
for (const reviewStatus of ['PENDING', 'REJECTED']) {
expect(() => requireReviewedProcurementFees([approved, { ...approved, reviewStatus }])).toThrow('尚未全部审核通过')
}
expect(() => requireReviewedProcurementFees([approved, { ...approved, sourceStatus: 'VOIDING' }])).toThrow('尚未全部审核通过')
expect(() => requireReviewedProcurementFees([approved, { ...approved, sourceStatus: 'VOIDED', reviewStatus: 'REJECTED' }])).not.toThrow()
})
})