19 lines
1.1 KiB
TypeScript
19 lines
1.1 KiB
TypeScript
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()
|
|
})
|
|
})
|