This commit is contained in:
2026-08-28 10:38:58 +08:00
parent b34fbb2bd1
commit 1e5ce54858
37 changed files with 256 additions and 159 deletions
@@ -33,7 +33,7 @@ test('PDA module covers the container-number receiving contract and excludes out
assert.match(source, /同键异载荷冲突/)
assert.match(source, /跨柜切换锁返回409/)
assert.match(source, /第二仓库操作员抢占同柜返回409/)
assert.match(source, /WAREHOUSE_PICKER/)
assert.match(source, /OVERSEAS_WAREHOUSE_PDA_OPERATOR/)
assert.match(source, /lastleg:pda:operate/)
assert.match(source, /安全投影已收敛/)
assert.match(source, /projectionReady = success\(projectionResponse\) \|\| notFound\(projectionResponse\)/)
@@ -157,7 +157,7 @@ test('PDA receiving lifecycle is ordered from candidate claim through photos, mo
]) assert.ok(source.includes(token), token)
})
test('missing WAREHOUSE_PICKER overseas authority is a deployment blocker', async () => {
test('missing OVERSEAS_WAREHOUSE_PDA_OPERATOR overseas authority is a deployment blocker', async () => {
const calls = []; const gaps = []; const steps = []
const context = {
marker: 'PDA-CONTRACT', context: {}, createdResources: {},
@@ -192,7 +192,7 @@ test('empty candidate response cannot become a zero-business-request pass', asyn
async request(method, requestPath, body) {
calls.push({ channel: 'domestic', method, requestPath })
if (method === 'GET' && requestPath.endsWith('/roles')) return response([
{ id: roleId, roleCode: 'WAREHOUSE_PICKER', status: 'ACTIVE', permissionIds: [permissionId] },
{ id: roleId, roleCode: 'OVERSEAS_WAREHOUSE_PDA_OPERATOR', status: 'ACTIVE', permissionIds: [permissionId] },
], requestPath, method)
if (method === 'GET' && requestPath.endsWith('/permissions')) return response([
{ id: permissionId, permissionCode: 'lastleg:pda:operate' },