优化
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import test from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
const here = path.dirname(fileURLToPath(import.meta.url))
|
||||
const moduleSource = fs.readFileSync(path.join(here, 'domestic-container.mjs'), 'utf8')
|
||||
const acceptance = fs.readFileSync(path.join(here, '..', 'admin-test-env-acceptance.mjs'), 'utf8')
|
||||
|
||||
test('国内整柜模块仅由总编排注入 context 后执行', () => {
|
||||
assert.match(moduleSource, /export async function run\(context\)/)
|
||||
assert.doesNotMatch(moduleSource, /https?:\/\//)
|
||||
assert.doesNotMatch(moduleSource, /ADMIN_TEST_GATEWAY|process\.env|fetch\(/)
|
||||
assert.match(acceptance, /import\(new URL\(`\.\/admin-test-env-modules\/\$\{module\}\.mjs`/)
|
||||
})
|
||||
|
||||
test('正式全量验收默认注册国内整柜模块', () => {
|
||||
assert.match(acceptance, /DEFAULT_MODULES\s*=\s*\[[^\]]*['"]domestic-container['"]/s)
|
||||
})
|
||||
|
||||
test('覆盖国内仓、待单、完成入库、部分和全部出库及列表详情流水', () => {
|
||||
for (const token of ['warehouseType=DOMESTIC', "status: 'PENDING'", "status: 'COMPLETED'",
|
||||
'PARTIALLY_OUTBOUND', "inventoryStatus === 'OUTBOUND'", '/inbounds?page=1', '/outbounds?page=1',
|
||||
'/inventories/${inventoryId}', 'transactions?.length === 3']) assert.match(moduleSource, new RegExp(token.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')))
|
||||
})
|
||||
|
||||
test('覆盖库存不足、版本冲突及两类幂等行为', () => {
|
||||
assert.match(moduleSource, /库存不足禁止出库/)
|
||||
assert.match(moduleSource, /过期库存版本冲突/)
|
||||
assert.match(moduleSource, /同幂等键同请求重放/)
|
||||
assert.match(moduleSource, /同幂等键不同请求冲突/)
|
||||
assert.match(moduleSource, /inventoryVersion/)
|
||||
})
|
||||
|
||||
test('覆盖权限拒绝与 requestId traceId', () => {
|
||||
assert.match(moduleSource, /无整柜权限用户被拒绝/)
|
||||
assert.match(moduleSource, /'A0403'/)
|
||||
assert.match(moduleSource, /Boolean\(response\?\.requestId\).*Boolean\(response\?\.traceId\)/s)
|
||||
assert.match(moduleSource, /status: 'DISABLED'/)
|
||||
})
|
||||
Reference in New Issue
Block a user