fix(scripts): read container workbench payload
This commit is contained in:
@@ -8,13 +8,22 @@ test('domestic container fixtures use the current workbench detail route', () =>
|
|||||||
const containerLoading = read('./phase3-container-loading.mjs')
|
const containerLoading = read('./phase3-container-loading.mjs')
|
||||||
assert.ok(containerLoading.includes("context.request('GET', `${CONTAINERS}/domestic/${containerId}`)"))
|
assert.ok(containerLoading.includes("context.request('GET', `${CONTAINERS}/domestic/${containerId}`)"))
|
||||||
assert.ok(!containerLoading.includes("context.request('GET', `${CONTAINERS}/${containerId}`)"))
|
assert.ok(!containerLoading.includes("context.request('GET', `${CONTAINERS}/${containerId}`)"))
|
||||||
|
assert.ok(containerLoading.includes('const containerDetail = containerWorkbench?.container'))
|
||||||
|
assert.ok(containerLoading.includes('const simulationBeforeLink = simulationWorkbench?.container'))
|
||||||
|
|
||||||
const loading = read('./phase3-loading.mjs')
|
const loading = read('./phase3-loading.mjs')
|
||||||
assert.ok(loading.includes("context.request('GET', `/api/platform/v1/containers/domestic/${containerBookingId}`)"))
|
assert.ok(loading.includes("context.request('GET', `/api/platform/v1/containers/domestic/${containerBookingId}`)"))
|
||||||
assert.ok(!loading.includes("context.request('GET', `/api/platform/v1/containers/${containerBookingId}`)"))
|
assert.ok(!loading.includes("context.request('GET', `/api/platform/v1/containers/${containerBookingId}`)"))
|
||||||
|
assert.ok(loading.includes('const latestContainer = latestWorkbench?.container'))
|
||||||
|
|
||||||
const crossRegion = read('./phase4-cross-region-events.mjs')
|
const crossRegion = read('./phase4-cross-region-events.mjs')
|
||||||
const fixtureId = 'encodeURIComponent(id(phase3.containerBookingId))'
|
const fixtureId = 'encodeURIComponent(id(phase3.containerBookingId))'
|
||||||
assert.ok(crossRegion.includes(`/api/platform/v1/containers/domestic/\${${fixtureId}}`))
|
assert.ok(crossRegion.includes(`/api/platform/v1/containers/domestic/\${${fixtureId}}`))
|
||||||
assert.ok(!crossRegion.includes(`/api/platform/v1/containers/\${${fixtureId}}`))
|
assert.ok(!crossRegion.includes(`/api/platform/v1/containers/\${${fixtureId}}`))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('service center truck fixture uses the released booking warehouse', () => {
|
||||||
|
const source = read('./service-center-flow.mjs')
|
||||||
|
assert.ok(source.includes('warehouseId: id(booking?.warehouseId)'))
|
||||||
|
assert.ok(!source.includes('context.createdResources?.warehouse?.id'))
|
||||||
|
})
|
||||||
|
|||||||
@@ -259,7 +259,8 @@ export async function run(context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const containerDetailResponse = await context.request('GET', `${CONTAINERS}/domestic/${containerId}`)
|
const containerDetailResponse = await context.request('GET', `${CONTAINERS}/domestic/${containerId}`)
|
||||||
const containerDetail = context.apiSuccess(MODULE, '回查货柜详情', containerDetailResponse, '', OPTIONS)
|
const containerWorkbench = context.apiSuccess(MODULE, '回查货柜详情', containerDetailResponse, '', OPTIONS)
|
||||||
|
const containerDetail = containerWorkbench?.container
|
||||||
context.assert(MODULE, '货柜详情保留候选货物路线约束', containerDetailResponse,
|
context.assert(MODULE, '货柜详情保留候选货物路线约束', containerDetailResponse,
|
||||||
(!containerDetail?.destinationWarehouseCode || !candidate.destinationWarehouseCode
|
(!containerDetail?.destinationWarehouseCode || !candidate.destinationWarehouseCode
|
||||||
|| containerDetail.destinationWarehouseCode === candidate.destinationWarehouseCode)
|
|| containerDetail.destinationWarehouseCode === candidate.destinationWarehouseCode)
|
||||||
@@ -399,7 +400,8 @@ export async function run(context) {
|
|||||||
if (!unlinkedTaskAbsent) return
|
if (!unlinkedTaskAbsent) return
|
||||||
|
|
||||||
const simulationBeforeLinkResponse = await context.request('GET', `${CONTAINERS}/domestic/${containerId}`)
|
const simulationBeforeLinkResponse = await context.request('GET', `${CONTAINERS}/domestic/${containerId}`)
|
||||||
const simulationBeforeLink = context.apiSuccess(MODULE, '预装确认前读取模拟柜最新版本', simulationBeforeLinkResponse, '', OPTIONS)
|
const simulationWorkbench = context.apiSuccess(MODULE, '预装确认前读取模拟柜最新版本', simulationBeforeLinkResponse, '', OPTIONS)
|
||||||
|
const simulationBeforeLink = simulationWorkbench?.container
|
||||||
if (!Number.isInteger(Number(simulationBeforeLink?.version))) return
|
if (!Number.isInteger(Number(simulationBeforeLink?.version))) return
|
||||||
|
|
||||||
const bookingCreate = await request(context, 'POST', '/api/platform/v1/ocean-bookings',
|
const bookingCreate = await request(context, 'POST', '/api/platform/v1/ocean-bookings',
|
||||||
@@ -590,7 +592,8 @@ export async function run(context) {
|
|||||||
if (!taskId || !pickItem?.id) return
|
if (!taskId || !pickItem?.id) return
|
||||||
|
|
||||||
const releasedContainerResponse = await context.request('GET', `${CONTAINERS}/domestic/${containerId}`)
|
const releasedContainerResponse = await context.request('GET', `${CONTAINERS}/domestic/${containerId}`)
|
||||||
const releasedContainer = context.apiSuccess(MODULE, '任务生成后回查货柜运输版本', releasedContainerResponse, '', OPTIONS)
|
const releasedWorkbench = context.apiSuccess(MODULE, '任务生成后回查货柜运输版本', releasedContainerResponse, '', OPTIONS)
|
||||||
|
const releasedContainer = releasedWorkbench?.container
|
||||||
|
|
||||||
const stableIdentity = {
|
const stableIdentity = {
|
||||||
taskId, loadingPlanId: id(task.loadingPlanId), containerBookingId: id(task.containerBookingId),
|
taskId, loadingPlanId: id(task.loadingPlanId), containerBookingId: id(task.containerBookingId),
|
||||||
|
|||||||
@@ -507,7 +507,8 @@ export async function run(context) {
|
|||||||
`bookingId=${bookingId || 'missing'}, status=${bookingConfirmed?.oceanBooking?.status || 'missing'}`, OPTIONS)
|
`bookingId=${bookingId || 'missing'}, status=${bookingConfirmed?.oceanBooking?.status || 'missing'}`, OPTIONS)
|
||||||
if (!bookingId || !requirement?.id || !frozenTransportMatches) return
|
if (!bookingId || !requirement?.id || !frozenTransportMatches) return
|
||||||
const latestContainerResponse = await context.request('GET', `/api/platform/v1/containers/domestic/${containerBookingId}`)
|
const latestContainerResponse = await context.request('GET', `/api/platform/v1/containers/domestic/${containerBookingId}`)
|
||||||
const latestContainer = context.apiSuccess(MODULE, '合并前读取模拟柜最新版本', latestContainerResponse, '', OPTIONS)
|
const latestWorkbench = context.apiSuccess(MODULE, '合并前读取模拟柜最新版本', latestContainerResponse, '', OPTIONS)
|
||||||
|
const latestContainer = latestWorkbench?.container
|
||||||
const linkResponse = await request(context, 'POST', `/api/platform/v1/containers/${containerBookingId}/ocean-booking-link`, {
|
const linkResponse = await request(context, 'POST', `/api/platform/v1/containers/${containerBookingId}/ocean-booking-link`, {
|
||||||
oceanBookingId: bookingId, requirementId: id(requirement.id),
|
oceanBookingId: bookingId, requirementId: id(requirement.id),
|
||||||
...(LATE_CONTAINER_GATE_ONLY ? {} : { containerNo }),
|
...(LATE_CONTAINER_GATE_ONLY ? {} : { containerNo }),
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ test('records LOADED and clears the reason only after a real LOADED reread', ()
|
|||||||
|
|
||||||
test('container loading follows push, claim, real pick, completed sequence', () => {
|
test('container loading follows push, claim, real pick, completed sequence', () => {
|
||||||
const value = source('./phase3-container-loading.mjs')
|
const value = source('./phase3-container-loading.mjs')
|
||||||
|
assert.match(value, /const containerDetail = containerWorkbench\?\.container/)
|
||||||
assert.match(value, /\['EDITING', 'WAIT_LOADING'\]\.includes\(containerDetail\?\.planStatus\)/)
|
assert.match(value, /\['EDITING', 'WAIT_LOADING'\]\.includes\(containerDetail\?\.planStatus\)/)
|
||||||
assertOrder(value, [
|
assertOrder(value, [
|
||||||
"pushed?.status === 'EDITING'",
|
"pushed?.status === 'EDITING'",
|
||||||
|
|||||||
@@ -84,8 +84,7 @@ export async function run(context) {
|
|||||||
const payload = {
|
const payload = {
|
||||||
outboundOrderId: null,
|
outboundOrderId: null,
|
||||||
oceanBookingId: ocean.id,
|
oceanBookingId: ocean.id,
|
||||||
warehouseId: id(containerFlow?.warehouseId
|
warehouseId: id(booking?.warehouseId),
|
||||||
|| context.createdResources?.warehouse?.id || context.context?.warehouseId || '193000000000000001'),
|
|
||||||
carrierId: id(carrier.id), carrierName: carrier.name,
|
carrierId: id(carrier.id), carrierName: carrier.name,
|
||||||
fleetContact: '链路车队联系人', fleetPhone: '13800000007', driverName: '链路司机', driverPhone: '13800000008',
|
fleetContact: '链路车队联系人', fleetPhone: '13800000007', driverName: '链路司机', driverPhone: '13800000008',
|
||||||
driverIdCard: null, vehicleNo: `粤D-${suffix.slice(-6)}`, storeName: `链路门店-${suffix}`, storeContact: '链路联系人',
|
driverIdCard: null, vehicleNo: `粤D-${suffix.slice(-6)}`, storeName: `链路门店-${suffix}`, storeContact: '链路联系人',
|
||||||
|
|||||||
Reference in New Issue
Block a user