diff --git a/scripts/admin-test-env-modules/finance-full-fixtures-contract.test.mjs b/scripts/admin-test-env-modules/finance-full-fixtures-contract.test.mjs index 30cf9d1e0..2d9e6fe13 100644 --- a/scripts/admin-test-env-modules/finance-full-fixtures-contract.test.mjs +++ b/scripts/admin-test-env-modules/finance-full-fixtures-contract.test.mjs @@ -38,6 +38,7 @@ test('PAYABLE fee selection uses only the explicit nullable supplierCategory fie assert.equal(supplierCategoryForFeeItem({ supplierCategory: 'BOOKING', feeTypeName: '操作费' }), 'BOOKING') assert.equal(supplierCategoryForFeeItem({ supplierCategory: null, feeTypeName: '拖车费' }), null) assert.equal(supplierCategoryForFeeItem({ supplierCategory: 'INVALID' }), null) + assert.match(source, /payableSupplierCategory && source\.supplierCategory !== payableSupplierCategory/) }) test('Finance PAYABLE fixture creates an isolated ACTIVE supplier through the formal API', () => { diff --git a/scripts/admin-test-env-modules/finance-full-fixtures.mjs b/scripts/admin-test-env-modules/finance-full-fixtures.mjs index 38e08b742..f68388559 100644 --- a/scripts/admin-test-env-modules/finance-full-fixtures.mjs +++ b/scripts/admin-test-env-modules/finance-full-fixtures.mjs @@ -498,7 +498,7 @@ export async function run(context) { const invalidFixtureSources = fixtureSources.filter((source) => !source.feeSourceId || !source.customerId || !source.businessDate || !(source.waybillId || source.shipmentId || source.orderNo) || source.marker !== context.marker || (source.direction === 'PAYABLE' && (!source.supplierId || !source.supplierName - || source.supplierCategory !== payableSupplierCategory))) + || (payableSupplierCategory && source.supplierCategory !== payableSupplierCategory)))) context.assert(MODULE, '输出完整 Finance 来源契约', null, invalidFixtureSources.length === 0, `sources=${fixtureSources.length}, invalid=${invalidFixtureSources.length};字段必须来自本轮费用来源、客户、订单/运单和真实柜次分摊`, OPTIONS) context.createdResources.financeFullFixtures = {