diff --git a/scripts/admin-test-env-modules/phase4-overseas-pda-operations.mjs b/scripts/admin-test-env-modules/phase4-overseas-pda-operations.mjs index 61ea40d7d..36eec2f10 100644 --- a/scripts/admin-test-env-modules/phase4-overseas-pda-operations.mjs +++ b/scripts/admin-test-env-modules/phase4-overseas-pda-operations.mjs @@ -374,7 +374,7 @@ async function verifyRelabel(context, token, merchantToken, fixture) { // P4 intentionally leaves one carton UNBOUND. P5 requires physical source pallets, // and may combine only the current completed container's same-destination inbounds. const inboundCodes = [...new Set((context.context.phase4OverseasPdaOperations?.completedFixtures || []) - .filter((item) => item.destinationType === fixture.destinationType + .filter((item) => item.containerNo === fixture.containerNo && item.destinationType === fixture.destinationType && item.fbaWarehouseCode === fixture.fbaWarehouseCode) .map((item) => item.inboundCode).filter(nonBlank))] const inventoryCandidates = [] @@ -753,7 +753,10 @@ export async function run(context) { } const fixturesByAuxiliaryCapacity = [...handoff.completedFixtures] .sort((left, right) => (right?.auxiliaryPallets?.length || 0) - (left?.auxiliaryPallets?.length || 0)) - const fixture = fixturesByAuxiliaryCapacity.find((item) => item?.destinationType === 'FBA' + const fixture = fixturesByAuxiliaryCapacity.find((item) => item?.destinationType === 'OVERSEAS' + && (item?.auxiliaryPallets?.length || 0) > 0 && Array.isArray(item?.inventory) + && item.inventory.some((line) => Number(line?.availablePackages) > 1)) + || fixturesByAuxiliaryCapacity.find((item) => item?.destinationType === 'FBA' && item?.fbaWarehouseCode === 'ABE4' && Array.isArray(item?.inventory) && item.inventory.some((line) => Number(line?.availablePackages) > 1)) || fixturesByAuxiliaryCapacity.find((item) => item?.destinationType === 'FBA'