test: support manual dropship count fixtures
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user