优化
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFileSync } from 'node:fs'
|
||||
import test from 'node:test'
|
||||
|
||||
import { DOCUMENT_TYPES } from './phase3-container-documents.mjs'
|
||||
import { normalizeModuleOrder } from '../admin-test-env-acceptance.mjs'
|
||||
|
||||
const source = readFileSync(new URL('./phase3-container-documents.mjs', import.meta.url), 'utf8')
|
||||
const entry = readFileSync(new URL('../admin-test-env-acceptance.mjs', import.meta.url), 'utf8')
|
||||
|
||||
test('four canonical container documents are frozen and use only public platform APIs', () => {
|
||||
assert.deepEqual(DOCUMENT_TYPES, [
|
||||
'DESTINATION_CLEARANCE', 'CUSTOMS_DECLARATION', 'DELIVERY_ORDER', 'PICKUP_ORDER',
|
||||
])
|
||||
for (const token of [
|
||||
'/clearance/document/upload', '/clearance/complete', '/customs/document/upload', '/customs/complete',
|
||||
'/documents/${type}/upload', '/overview', 'requestMultipart', 'Idempotency-Key',
|
||||
]) assert.ok(source.includes(token), token)
|
||||
assert.doesNotMatch(source, /\/internal\/|https?:\/\/|process\.env|\bfetch\s*\(/)
|
||||
})
|
||||
|
||||
test('document lifecycle is fail-closed, traceable and covers replay, hash conflict and zero drift', () => {
|
||||
for (const token of [
|
||||
'finalizeSucceeded !== true', "finalStatus !== 'LOADED'", 'deploymentBlocker: true',
|
||||
'同键同载荷重放', '同键异文件返回A0409', '完成同键重放', '完成同键异载荷返回A0409',
|
||||
'负向请求后持久事实零漂移', 'requestId=', 'traceId=', 'phase3ContainerDocuments',
|
||||
]) assert.ok(source.includes(token), token)
|
||||
})
|
||||
|
||||
test('focused pickup-ready chain orders documents before outbound and candidate visibility', () => {
|
||||
const modules = normalizeModuleOrder(['phase4-overseas-pda'])
|
||||
const required = [
|
||||
'phase3-loading-finalize', 'phase3-container-documents', 'phase3-customs',
|
||||
'phase3-outbound-dispatch', 'phase3-carrier-schedule-queries',
|
||||
'phase4-carrier-pickup-ready', 'phase4-overseas-pda',
|
||||
]
|
||||
for (const module of required) assert.ok(modules.includes(module), module)
|
||||
for (let index = 1; index < required.length; index += 1) {
|
||||
assert.ok(modules.indexOf(required[index - 1]) < modules.indexOf(required[index]), required[index])
|
||||
}
|
||||
assert.match(entry, /phase3-container-documents/)
|
||||
assert.match(entry, /phase3-container-documents-phase4-/)
|
||||
})
|
||||
Reference in New Issue
Block a user