优化
This commit is contained in:
@@ -4,6 +4,7 @@ import test from 'node:test'
|
||||
|
||||
import { selectCustomsFlow } from './phase3-customs.mjs'
|
||||
import { buildFinalizeResource } from './phase3-loading-finalize.mjs'
|
||||
import { selectContainerLoadingFixture } from './phase3-container-loading.mjs'
|
||||
import { AcceptanceRun } from '../admin-test-env-acceptance.mjs'
|
||||
|
||||
function source(name) {
|
||||
@@ -126,6 +127,7 @@ test('PDA inventory snapshot gates batch and records the only safe mutation gap'
|
||||
|
||||
test('container loading creates and confirms booking before scoped candidates', () => {
|
||||
const value = source('./phase3-container-loading.mjs')
|
||||
assert.match(value, /candidates\.find\(\(candidate\) => candidate\.marker === context\.marker\)/)
|
||||
assertOrder(value, [
|
||||
"const bookingCreate = await request",
|
||||
"const submit = await request",
|
||||
@@ -147,6 +149,33 @@ test('container loading creates and confirms booking before scoped candidates',
|
||||
assert.doesNotMatch(value, /POST', CONTAINERS, containerPayload/)
|
||||
})
|
||||
|
||||
test('container loading selects the current marker instead of a stale CAB fixture', () => {
|
||||
const selected = selectContainerLoadingFixture({
|
||||
marker: 'ADMIN-RUN-AUTO1',
|
||||
createdResources: {
|
||||
orchestrationFixtures: {
|
||||
phase3Container: { marker: 'ADMIN-RUN-CAB', inboundId: 'CAB-INBOUND' },
|
||||
},
|
||||
inboundMeasurement: { marker: 'ADMIN-RUN-AUTO1', inboundId: 'FINANCE-INBOUND' },
|
||||
orders: { marker: 'ADMIN-RUN-AUTO1', inboundId: 'FINANCE-ORDER-INBOUND' },
|
||||
},
|
||||
})
|
||||
assert.equal(selected.inboundId, 'FINANCE-INBOUND')
|
||||
assert.equal(selected.marker, 'ADMIN-RUN-AUTO1')
|
||||
})
|
||||
|
||||
test('container loading keeps an unmatched candidate so marker failure stays observable', () => {
|
||||
const selected = selectContainerLoadingFixture({
|
||||
marker: 'ADMIN-RUN-AUTO1',
|
||||
createdResources: {
|
||||
orchestrationFixtures: {
|
||||
phase3Container: { marker: 'ADMIN-RUN-CAB', inboundId: 'CAB-INBOUND' },
|
||||
},
|
||||
},
|
||||
})
|
||||
assert.equal(selected.marker, 'ADMIN-RUN-CAB')
|
||||
})
|
||||
|
||||
test('container loading enforces channel isolation and stable PDA identity across container number changes', () => {
|
||||
const value = source('./phase3-container-loading.mjs')
|
||||
assertOrder(value, [
|
||||
@@ -269,6 +298,20 @@ test('phase3 loading provisions its own marker-isolated WAIT_SPLIT fixture', asy
|
||||
assert.equal(run.marker.includes('-LOAD'), false)
|
||||
})
|
||||
|
||||
test('container fixture keeps the run marker and does not publish incomplete WAIT_PRICING resources', () => {
|
||||
const entry = source('../admin-test-env-acceptance.mjs')
|
||||
assert.match(entry, /const fixtureMarker = originalMarker/)
|
||||
assert.match(entry, /fixture\.finalStatus !== 'APPROVED'/)
|
||||
assert.match(entry, /禁止回退使用 WAIT_PRICING 订单/)
|
||||
})
|
||||
|
||||
test('measurement fixture polls asynchronous completion before exporting loading identity', () => {
|
||||
const measurement = source('./inbound-measurement.mjs')
|
||||
assert.match(measurement, /waitForCompletedMeasurement/)
|
||||
assert.match(measurement, /measurement\?\.processStatus === 'WAIT_SPLIT'/)
|
||||
assert.match(measurement, /setTimeout\(resolve, 1_000\)/)
|
||||
})
|
||||
|
||||
test('customs and finalize consume the same loading inbound identity', () => {
|
||||
const loadingFixture = { marker: 'RUN-1', tenantId: 10001, orderId: 101, inboundId: 201 }
|
||||
const loading = {
|
||||
|
||||
Reference in New Issue
Block a user