Files
baiyue-firstleg/scripts/admin-test-env-modules/container-detail-route-contract.test.mjs
T

34 lines
2.2 KiB
JavaScript

import assert from 'node:assert/strict'
import { readFileSync } from 'node:fs'
import test from 'node:test'
const read = (name) => readFileSync(new URL(name, import.meta.url), 'utf8')
test('domestic container fixtures use the current workbench detail route', () => {
const containerLoading = read('./phase3-container-loading.mjs')
assert.ok(containerLoading.includes("context.request('GET', `${DOMESTIC_CONTAINERS}/${containerId}`)"))
assert.ok(!containerLoading.includes("context.request('GET', `${CONTAINERS}/${containerId}`)"))
assert.ok(containerLoading.includes("const containerDetail = containerRecord(context.apiSuccess(MODULE, '回查货柜详情'"))
assert.ok(containerLoading.includes("const simulationBeforeLink = containerRecord(context.apiSuccess(MODULE, '预装确认前读取模拟柜最新版本'"))
assert.ok(containerLoading.includes('`${DOMESTIC_CONTAINERS}?page=1&size=50&scope=ACTIVE&keyword='))
assert.ok(containerLoading.includes('records(activeContainers).map(containerRecord)'))
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/${containerBookingId}`)"))
assert.ok(loading.includes("const latestContainer = containerRecord(context.apiSuccess(MODULE, '合并前读取模拟柜最新版本'"))
const crossRegion = read('./phase4-cross-region-events.mjs')
const fixtureId = 'encodeURIComponent(id(phase3.containerBookingId))'
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/domestic?scope=HISTORY&containerNo='))
assert.ok(crossRegion.includes('.map((item) => item?.container).filter('))
})
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'))
})