test(acceptance): align automatic preload workflows
This commit is contained in:
@@ -99,10 +99,8 @@ async function createAssignedPushedPlan(context, fixture, groupId, suffix) {
|
||||
evidence(simulationResponse), OPTIONS)
|
||||
const bookingId = id(simulation?.id)
|
||||
if (!bookingId) return null
|
||||
const planResponse = await context.request('POST', `${SMART}/plans`, {
|
||||
bookingId, remark: `${context.marker}-${suffix}`,
|
||||
})
|
||||
let plan = context.apiSuccess(MODULE, `${suffix} 创建组装柜计划`, planResponse,
|
||||
const planResponse = await context.request('GET', `${SMART}/plans/by-booking/${encodeURIComponent(bookingId)}`)
|
||||
let plan = context.apiSuccess(MODULE, `${suffix} 读取模拟柜自动创建的组装柜计划`, planResponse,
|
||||
evidence(planResponse), OPTIONS)
|
||||
const planId = id(plan?.id)
|
||||
if (!planId) return null
|
||||
@@ -112,10 +110,8 @@ async function createAssignedPushedPlan(context, fixture, groupId, suffix) {
|
||||
})
|
||||
plan = context.apiSuccess(MODULE, `${suffix} 整组原子分配`, assignResponse,
|
||||
evidence(assignResponse, `groupId=${groupId}`), OPTIONS)
|
||||
const pushResponse = await context.request('POST', `${SMART}/plans/${encodeURIComponent(planId)}/push-preload`, {
|
||||
expectedVersion: Number(plan?.version),
|
||||
}, undefined, { 'Idempotency-Key': `${context.marker}-${suffix}-push`.slice(0, 128) })
|
||||
const pushed = context.apiSuccess(MODULE, `${suffix} 整组完整推送预装`, pushResponse,
|
||||
const pushResponse = await context.request('GET', `${SMART}/plans/${encodeURIComponent(planId)}`)
|
||||
const pushed = context.apiSuccess(MODULE, `${suffix} 整组分配后自动建立预装关联`, pushResponse,
|
||||
evidence(pushResponse), OPTIONS)
|
||||
return pushed ? { containerBookingId: bookingId, planId, plan: pushed, simulation } : null
|
||||
}
|
||||
@@ -129,10 +125,8 @@ async function createNormalPushedPlan(context, fixture, suffix) {
|
||||
evidence(simulationResponse), OPTIONS)
|
||||
const containerBookingId = id(simulation?.id)
|
||||
if (!containerBookingId) return null
|
||||
const planResponse = await context.request('POST', `${SMART}/plans`, {
|
||||
bookingId: containerBookingId, remark: `${context.marker}-${suffix}`,
|
||||
})
|
||||
let plan = context.apiSuccess(MODULE, `${suffix} 创建普通单装柜计划`, planResponse,
|
||||
const planResponse = await context.request('GET', `${SMART}/plans/by-booking/${encodeURIComponent(containerBookingId)}`)
|
||||
let plan = context.apiSuccess(MODULE, `${suffix} 读取模拟柜自动创建的普通单装柜计划`, planResponse,
|
||||
evidence(planResponse), OPTIONS)
|
||||
const planId = id(plan?.id)
|
||||
if (!planId) return null
|
||||
@@ -149,10 +143,8 @@ async function createNormalPushedPlan(context, fixture, suffix) {
|
||||
context.assert(MODULE, `${suffix} 普通单维持既有部分分配语义`, assignResponse,
|
||||
assignedTotal === assignedCount && assignedCount < Number(fixture.packages),
|
||||
`assigned=${assignedTotal}, source=${fixture.packages}`, OPTIONS)
|
||||
const pushResponse = await context.request('POST', `${SMART}/plans/${encodeURIComponent(planId)}/push-preload`, {
|
||||
expectedVersion: Number(plan?.version),
|
||||
}, undefined, { 'Idempotency-Key': `${context.marker}-${suffix}-push`.slice(0, 128) })
|
||||
const pushed = context.apiSuccess(MODULE, `${suffix} 未成组普通单推送预装不回归`, pushResponse,
|
||||
const pushResponse = await context.request('GET', `${SMART}/plans/${encodeURIComponent(planId)}`)
|
||||
const pushed = context.apiSuccess(MODULE, `${suffix} 未成组普通单自动预装不回归`, pushResponse,
|
||||
evidence(pushResponse), OPTIONS)
|
||||
return pushed ? { containerBookingId, planId, plan: pushed, simulation, assignedCount } : null
|
||||
}
|
||||
@@ -344,7 +336,7 @@ async function createRouteVariantFixture(context, base, variant) {
|
||||
context.marker = `${originalMarker}-${variant === 'DESTINATION' ? 'DEST' : 'ROUTE'}-${attempt}`
|
||||
context.context.orderProfile = {
|
||||
destinationType: variant === 'DESTINATION' && attempt >= 3 ? 'OVERSEAS' : 'FBA', fulfillmentType: 'STANDARD',
|
||||
pickupMethod: 'PICKUP', taxMode: 'BUY_DECLARATION', containerMode: 'LCL', customsInspection: false,
|
||||
pickupMethod: 'SELF_EXPRESS', taxMode: 'BUY_DECLARATION', containerMode: 'LCL', customsInspection: false,
|
||||
}
|
||||
context.context.orderDestinationType = context.context.orderProfile.destinationType
|
||||
context.context.orderFulfillmentType = 'STANDARD'
|
||||
@@ -510,10 +502,8 @@ export async function run(context) {
|
||||
evidence(simulationResponse), OPTIONS)
|
||||
let bookingId = id(simulation?.id)
|
||||
if (!bookingId) return
|
||||
const planResponse = await context.request('POST', '/api/platform/v1/first-leg/smart-loading/plans', {
|
||||
bookingId, remark: `${context.marker} 同柜不可拆组验收`,
|
||||
})
|
||||
let plan = context.apiSuccess(MODULE, '创建容量拒绝专用空计划', planResponse,
|
||||
const planResponse = await context.request('GET', `${SMART}/plans/by-booking/${encodeURIComponent(bookingId)}`)
|
||||
let plan = context.apiSuccess(MODULE, '读取容量拒绝专用自动空计划', planResponse,
|
||||
evidence(planResponse, `bookingId=${bookingId}`), OPTIONS)
|
||||
let planId = id(plan?.id)
|
||||
if (!planId) return
|
||||
@@ -580,10 +570,8 @@ export async function run(context) {
|
||||
recommendSimulationResponse, evidence(recommendSimulationResponse), OPTIONS)
|
||||
const recommendBookingId = id(recommendSimulation?.id)
|
||||
if (!recommendBookingId) return
|
||||
const recommendPlanResponse = await context.request('POST', `${SMART}/plans`, {
|
||||
bookingId: recommendBookingId, remark: `${context.marker} 智能推荐整组全取`,
|
||||
})
|
||||
let recommendPlan = context.apiSuccess(MODULE, '创建智能推荐整组成功专用计划', recommendPlanResponse,
|
||||
const recommendPlanResponse = await context.request('GET', `${SMART}/plans/by-booking/${encodeURIComponent(recommendBookingId)}`)
|
||||
let recommendPlan = context.apiSuccess(MODULE, '读取智能推荐整组成功专用自动计划', recommendPlanResponse,
|
||||
evidence(recommendPlanResponse), OPTIONS)
|
||||
const recommendPlanId = id(recommendPlan?.id)
|
||||
if (!recommendPlanId) return
|
||||
@@ -628,10 +616,8 @@ export async function run(context) {
|
||||
evidence(workingSimulationResponse), OPTIONS)
|
||||
bookingId = id(workingSimulation?.id)
|
||||
if (!bookingId) return
|
||||
const workingPlanResponse = await context.request('POST', `${SMART}/plans`, {
|
||||
bookingId, remark: `${context.marker} 同柜不可拆组PDA主链`,
|
||||
})
|
||||
plan = context.apiSuccess(MODULE, '创建PDA主链同柜装柜计划', workingPlanResponse,
|
||||
const workingPlanResponse = await context.request('GET', `${SMART}/plans/by-booking/${encodeURIComponent(bookingId)}`)
|
||||
plan = context.apiSuccess(MODULE, '读取PDA主链自动创建的同柜装柜计划', workingPlanResponse,
|
||||
evidence(workingPlanResponse, `bookingId=${bookingId}`), OPTIONS)
|
||||
planId = id(plan?.id)
|
||||
if (!planId) return
|
||||
@@ -718,12 +704,8 @@ export async function run(context) {
|
||||
evidence(manualGroupResponse), OPTIONS)
|
||||
if (!plan) return
|
||||
|
||||
const pushKey = `${context.marker}-coload-push`.slice(0, 128)
|
||||
const pushResponse = await context.request('POST',
|
||||
`/api/platform/v1/first-leg/smart-loading/plans/${encodeURIComponent(planId)}/push-preload`, {
|
||||
expectedVersion: Number(plan.version),
|
||||
}, undefined, { 'Idempotency-Key': pushKey })
|
||||
const pushed = context.apiSuccess(MODULE, '整组完整时推送预装成功', pushResponse,
|
||||
const pushResponse = await context.request('GET', `${SMART}/plans/${encodeURIComponent(planId)}`)
|
||||
const pushed = context.apiSuccess(MODULE, '整组完整时自动预装关联可读', pushResponse,
|
||||
evidence(pushResponse), OPTIONS)
|
||||
const pushedTotals = new Map()
|
||||
for (const item of pushed?.items || []) pushedTotals.set(id(item?.inboundId),
|
||||
@@ -956,10 +938,9 @@ export async function run(context) {
|
||||
const uiSimulation = context.apiSuccess(MODULE, '为Admin页面保留可编辑智能装柜柜次', uiSimulationResponse,
|
||||
evidence(uiSimulationResponse), OPTIONS)
|
||||
const uiBookingId = id(uiSimulation?.id)
|
||||
const uiPlanResponse = uiBookingId ? await context.request('POST', `${SMART}/plans`, {
|
||||
bookingId: uiBookingId, remark: `${context.marker} Admin整组候选人工验收保留`,
|
||||
}) : null
|
||||
const uiPlan = uiPlanResponse ? context.apiSuccess(MODULE, '为Admin页面保留未分配空计划', uiPlanResponse,
|
||||
const uiPlanResponse = uiBookingId
|
||||
? await context.request('GET', `${SMART}/plans/by-booking/${encodeURIComponent(uiBookingId)}`) : null
|
||||
const uiPlan = uiPlanResponse ? context.apiSuccess(MODULE, '为Admin页面保留自动创建的未分配空计划', uiPlanResponse,
|
||||
evidence(uiPlanResponse, `bookingId=${uiBookingId}`), OPTIONS) : null
|
||||
const uiMembers = memberFacts(uiGroup)
|
||||
context.assert(MODULE, '页面验收保留组仍为ACTIVE且未锁定', uiGroupResponse,
|
||||
|
||||
Reference in New Issue
Block a user