fix(acceptance): require FBA pallet label configuration

This commit is contained in:
2026-09-10 21:53:15 +08:00
parent 6fa2260572
commit e531ae9407
2 changed files with 19 additions and 3 deletions
@@ -2,7 +2,7 @@ import assert from 'node:assert/strict'
import { readFileSync } from 'node:fs'
import test from 'node:test'
import { findPricedOrderRoute, findPricedOrderRouteAcrossOrigins } from './orders.mjs'
import { eligibleOrderDestinations, findPricedOrderRoute, findPricedOrderRouteAcrossOrigins } from './orders.mjs'
const source = readFileSync(new URL('orders.mjs', import.meta.url), 'utf8')
@@ -18,6 +18,16 @@ test('orders fixture verifies the complete pricing tuple before selecting an FBA
assert.match(source, /warehouse\?\.status === 'ACTIVE'/)
})
test('FBA order fixture excludes warehouses without the internal code required by pallet labels', () => {
const warehouses = [
{ id: 'abe3', warehouseCode: 'ABE3', status: 'ACTIVE', internalCode: null },
{ id: 'abe4', warehouseCode: 'ABE4', status: 'ACTIVE', internalCode: '126' },
{ id: 'abe8', warehouseCode: 'ABE8', status: 'INACTIVE', internalCode: '39' },
]
assert.deepEqual(eligibleOrderDestinations(warehouses, 'FBA').map((item) => item.warehouseCode), ['ABE4'])
assert.deepEqual(eligibleOrderDestinations(warehouses, 'OVERSEAS').map((item) => item.warehouseCode), ['ABE3', 'ABE4'])
})
test('pricing selection skips an ACTIVE domestic warehouse with an empty channel catalog', async () => {
const channelCalls = []
const result = await findPricedOrderRouteAcrossOrigins({