This commit is contained in:
2026-08-12 12:47:06 +08:00
parent e4f65dae5f
commit d9bbd94366
4 changed files with 29 additions and 5 deletions
@@ -22,9 +22,13 @@ function fakeContext(withFixture = true) {
]
const feeSources = [...receivables,
{ feeSourceId: '105', orderId: '205', direction: 'PAYABLE', currency: 'CNY',
businessDate: '2026-08-11', partnerId: '501', partnerName: 'Fixture Partner' }]
businessDate: '2026-08-11', partnerId: '501', partnerName: 'Fixture Partner' },
{ feeSourceId: null, sourceType: 'MANUAL', direction: 'PAYABLE', currency: 'CNY',
businessDate: '2026-08-10', billingBasis: 'CONTAINER_SHARED', partnerId: '501',
containerBookingId: 'CB-FAILED' }]
const fixture = { marker, customerId: '11',
orders: feeSources.map((item) => ({ orderId: item.orderId, shipmentId: `SHIP-${item.orderId}` })),
orders: feeSources.filter((item) => item.orderId)
.map((item) => ({ orderId: item.orderId, shipmentId: `SHIP-${item.orderId}` })),
feeSources: feeSources.map((item) => ({ ...item, marker })) }
const statements = new Map()
const settlements = new Map()
@@ -152,6 +156,9 @@ test('run 发布一条日期链、三张独立已出账单、三张 AR 和一张
assert.equal(fixture.payableSettlements[0].supplierId, '501')
assert.equal(fixture.payableSettlements[0].partnerId, '501')
assert.equal(fixture.payableSettlements[0].supplierName, 'Fixture Partner')
assert.equal(context.coverageGaps.some((gap) => gap.category === 'uncreated-fee-source-attempt'
&& gap.reason.includes('containerBookingId=CB-FAILED')), true)
assert.equal(context.calls.some((call) => call.body?.feeSourceIds?.includes(null)), false)
assert.equal(context.calls.some((call) => call.path.includes('/fee-pool')
|| call.body?.generationMode === 'BY_CUTOFF'), false)
assert.equal(context.steps.filter((step) => !step.passed).length, 0)