test(admin): keep phase3 producer fixtures aligned
This commit is contained in:
@@ -2,6 +2,23 @@ const MODULE = 'phase3-loading-finalize'
|
||||
const OPTIONS = { scenario: 'phase3-loading-hard-gate-finalize', deploymentBlocker: true }
|
||||
|
||||
function id(value) { return value == null ? '' : String(value) }
|
||||
function codeOf(response) { return response?.body?.code == null ? 'missing' : String(response.body.code) }
|
||||
|
||||
export function buildFinalizeResource(fixture, finalData, completeResponse) {
|
||||
const observedStatus = finalData?.summary?.processStatus || fixture?.inboundStatus || 'UNKNOWN'
|
||||
const observedVersion = Number(finalData?.summary?.version)
|
||||
const loaded = observedStatus === 'LOADED'
|
||||
const version = Number.isInteger(observedVersion) ? observedVersion : fixture?.inboundVersion
|
||||
return {
|
||||
...fixture,
|
||||
...(Number.isInteger(version) ? { inboundVersion: version } : {}),
|
||||
inboundStatus: observedStatus,
|
||||
finalStatus: observedStatus,
|
||||
finalizeSucceeded: loaded,
|
||||
notCleanedReason: loaded ? null
|
||||
: `装柜完成未成功,保留真实状态 ${observedStatus};completeCode=${codeOf(completeResponse)}`,
|
||||
}
|
||||
}
|
||||
|
||||
async function request(context, method, path, body, headers = {}) {
|
||||
try {
|
||||
@@ -69,7 +86,5 @@ export async function run(context) {
|
||||
&& item.operatorName && item.fromStatus === 'LOADING' && item.toStatus === 'LOADED'),
|
||||
`status=${finalData?.summary?.processStatus || 'missing'}, version=${finalData?.summary?.version ?? 'missing'}, histories=${finalData?.statusHistory?.length ?? 'n/a'}`, OPTIONS)
|
||||
|
||||
context.createdResources.phase3Loading = {
|
||||
...fixture, inboundVersion: Number(finalData?.summary?.version), inboundStatus: 'LOADED', finalStatus: 'LOADED',
|
||||
}
|
||||
context.createdResources.phase3Loading = buildFinalizeResource(fixture, finalData, completeResponse)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user