From 87ae82a1149ff2461619b29627c0624a24c10d42 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Fri, 11 Sep 2026 16:34:40 +0800 Subject: [PATCH] test: support manual dropship count fixtures --- scripts/admin-test-env-acceptance.mjs | 9 ++++++--- scripts/admin-test-env-modules/inbound-measurement.mjs | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/scripts/admin-test-env-acceptance.mjs b/scripts/admin-test-env-acceptance.mjs index f85a82438..ff17e07cf 100644 --- a/scripts/admin-test-env-acceptance.mjs +++ b/scripts/admin-test-env-acceptance.mjs @@ -776,10 +776,12 @@ export class AcceptanceRun { captureWaitSplitFixture(sequence) { const order = this.createdResources.orders || {} const measurement = this.createdResources.inboundMeasurement || {} + const expectedProcessStatus = this.options.prepareDropshipManualCount ? 'WAIT_PALLETIZE' : 'WAIT_SPLIT' const ready = Boolean(order.orderId && measurement.inboundId && String(order.tenantId) === String(measurement.tenantId) - && measurement.processStatus === 'WAIT_SPLIT' && measurement.finalStatus === 'APPROVED') - this.assert('wait-split-fixtures', `固定客户第 ${sequence} 单停在待分柜`, null, ready, + && measurement.processStatus === expectedProcessStatus && measurement.finalStatus === 'APPROVED') + this.assert('wait-split-fixtures', this.options.prepareDropshipManualCount + ? `固定客户第 ${sequence} 单停在PDA清点前` : `固定客户第 ${sequence} 单停在待分柜`, null, ready, `tenantId=${measurement.tenantId || 'missing'}, orderId=${order.orderId || 'missing'}, inboundId=${measurement.inboundId || 'missing'}, processStatus=${measurement.processStatus || 'missing'}, reviewStatus=${measurement.finalStatus || 'missing'}`, { scenario: 'fixed-customer-wait-split', deploymentBlocker: true }) if (!ready) return false @@ -789,7 +791,8 @@ export class AcceptanceRun { orderNo: order.orderNo || null, inboundId: String(measurement.inboundId), inboundCode: order.inboundCode || null, processStatus: measurement.processStatus, reviewStatus: measurement.finalStatus, skuCount: order.skuLines?.length || null, - totalPackageCount: (order.skuLines || []).reduce((sum, item) => sum + Number(item.packageCount || 0), 0), + totalPackageCount: measurement.actualPackageCount + || (order.skuLines || []).reduce((sum, item) => sum + Number(item.packageCount || 0), 0), palletCount: measurement.palletCount || null, actualGrossWeightKg: measurement.actualGrossWeightKg || null, actualNetWeightKg: measurement.actualNetWeightKg || null, diff --git a/scripts/admin-test-env-modules/inbound-measurement.mjs b/scripts/admin-test-env-modules/inbound-measurement.mjs index 74ac017e7..55c430736 100644 --- a/scripts/admin-test-env-modules/inbound-measurement.mjs +++ b/scripts/admin-test-env-modules/inbound-measurement.mjs @@ -784,8 +784,10 @@ export async function run(context) { measured = context.apiSuccess(MODULE, '回查增量 fixture 动态测量明细', measuredResponse, '', OPTIONS) measuredItem = measured?.items?.find((item) => asId(item.id) === asId(firstScan.itemId)) const detailIds = new Set((measured?.items || []).map((item) => asId(item?.inboundDetailId)).filter(Boolean)) - context.assert(MODULE, '增量 fixture 形成动态真实独立货物测量明细', measuredResponse, - detailIds.size >= incrementalDetailCount + const mixedDropship = context.createdResources?.orders?.fulfillmentType === 'ONE_CLICK_DROPSHIP' + context.assert(MODULE, mixedDropship + ? '混箱一件代发复用物理箱测量明细' : '增量 fixture 形成动态真实独立货物测量明细', measuredResponse, + mixedDropship ? detailIds.size === 1 : detailIds.size >= incrementalDetailCount && measured.items.filter((item) => detailIds.has(asId(item?.inboundDetailId))).length >= incrementalDetailCount, `measurementItems=${measured?.items?.length ?? 'missing'}, distinctInboundDetails=${detailIds.size}`, OPTIONS) } @@ -1096,6 +1098,7 @@ export async function run(context) { boxCode, finalStatus: finalMeasurement?.measurementStatus || null, processStatus: finalMeasurement?.processStatus || null, palletCount: weightEvidence.count, actualGrossWeightKg: weightEvidence.grossWeightKg, + actualPackageCount: Number(finalMeasurement?.actualPackageCount || 0), destinationType: context.createdResources?.orders?.destinationType || null, destinationWarehouseId: context.createdResources?.orders?.destinationWarehouseId || null, destinationWarehouseCode: context.createdResources?.orders?.destinationWarehouseCode || null,