fix(scripts): validate current vehicle task registry
This commit is contained in:
@@ -201,24 +201,20 @@ Assert-Contains $docsIndex '[测试环境独立任务协作登记](独立任务
|
||||
Assert-Contains $docsIndex '[开发环境独立任务协作登记](开发环境独立任务协作登记.md)' '文档开发登记入口'
|
||||
# BEGIN CURRENT TEST REGISTRY CONTRACT
|
||||
function Assert-TestTaskRegistry([string]$registry) {
|
||||
Assert-Contains $registry '用户 2026-09-30 的明确请求重新创建' '测试任务明确创建依据'
|
||||
Assert-Contains $registry '按4个创建,你直接负责汇总' '测试任务精确数量授权'
|
||||
Assert-Contains $registry '不根据旧台账恢复或派工' '测试任务禁止历史复用'
|
||||
Assert-Contains $registry 'task_id=01a0d0da-130f-7d43-97b5-9c76abc1b5f1' '测试所属总控'
|
||||
Assert-Contains $registry 'projectId=c64729ff-6710-43c6-8ef2-d84e9666cc1e' '测试保存项目'
|
||||
Assert-Contains $registry '`C:/Users/BY-OY/Desktop/code/chongchong-global`' '测试工作目录'
|
||||
Assert-Contains $registry '不操作开发或生产环境' '测试授权环境边界'
|
||||
$expectedIds = @(
|
||||
'01a0f14c-9262-7b43-990a-0e3beddcdd8a',
|
||||
'01a0f14c-962f-73c3-b1aa-9df555b91586',
|
||||
'01a0f14c-9a66-7f61-bc2b-6ad17a6c940a',
|
||||
'01a0f14c-9e33-7a01-903d-a5febd50774b'
|
||||
)
|
||||
$actualIds = @([regex]::Matches($registry, '(?m)^\|\s*`([0-9a-f-]{36})`\s*\|') | ForEach-Object { $_.Groups[1].Value })
|
||||
$current = ($registry -split '(?m)^## 2026-10-03 归档与重新规划')[0]
|
||||
Assert-Contains $current '## 2026-10-03 车辆管理四任务协作(当前)' '当前车辆协作入口'
|
||||
Assert-Contains $current '确认创建三个任务,我们当前目标调整一下,加上自己,一共4个任务' '测试任务精确数量授权'
|
||||
Assert-Contains $current '车辆总控:当前对话 `01a0f19d-3f0b-7ae0-a860-c0d1d2e84475`' '测试所属总控'
|
||||
Assert-Contains $current '`c64729ff-6710-43c6-8ef2-d84e9666cc1e`' '测试保存项目'
|
||||
Assert-Contains $current '`C:/Users/BY-OY/Desktop/code/chongchong-global`' '测试工作目录'
|
||||
Assert-Contains $current '不混入开发环境' '测试授权环境边界'
|
||||
Assert-Contains $current '其他旧任务仍保持归档,不自动恢复' '测试任务禁止历史恢复'
|
||||
$expectedIds = @('01a0ffcf-7150-7db3-9d8c-108e568c12b1','01a0ffcf-eea3-7111-b30b-4be63547ac33','01a0ffd0-2a4d-7210-bad8-a790cd965e8a')
|
||||
$actualIds = @([regex]::Matches($current, '(?m)^\|\s*`([0-9a-f-]{36})`\s*\|') | ForEach-Object { $_.Groups[1].Value })
|
||||
$script:checked++
|
||||
if ($actualIds.Count -ne 4 -or @($actualIds | Select-Object -Unique).Count -ne 4 -or
|
||||
if ($actualIds.Count -ne 3 -or @($actualIds | Select-Object -Unique).Count -ne 3 -or
|
||||
@($expectedIds | Where-Object { $actualIds -notcontains $_ }).Count -gt 0) {
|
||||
Add-Failure '测试登记必须恰为本轮明确创建的四个唯一任务'
|
||||
Add-Failure '测试当前登记必须恰为三个独立任务,加车辆总控共四个任务'
|
||||
}
|
||||
Assert-NotContains $registry '当前无登记任务' '测试登记不得混入过期清空状态'
|
||||
Assert-NotContains $registry '01a0194a-259c-7171-8967-074731a27618' '测试登记历史总控'
|
||||
|
||||
@@ -23,12 +23,12 @@ test('actual explicitly authorized TEST registry passes the production validator
|
||||
assert.deepEqual(failures(registry), [])
|
||||
})
|
||||
for (const [name, mutate] of [
|
||||
['missing creation authorization', s => s.replace('按4个创建,你直接负责汇总', '安排任务')],
|
||||
['wrong controller', s => s.replace('task_id=01a0d0da-130f-7d43-97b5-9c76abc1b5f1', 'task_id=unknown')],
|
||||
['wrong project', s => s.replace('projectId=c64729ff-6710-43c6-8ef2-d84e9666cc1e', 'projectId=wrong')],
|
||||
['missing creation authorization', s => s.replace('确认创建三个任务,我们当前目标调整一下,加上自己,一共4个任务', '安排任务')],
|
||||
['wrong controller', s => s.replace('车辆总控:当前对话 `01a0f19d-3f0b-7ae0-a860-c0d1d2e84475`', 'task_id=unknown')],
|
||||
['wrong project', s => s.replace('`c64729ff-6710-43c6-8ef2-d84e9666cc1e`', 'projectId=wrong')],
|
||||
['wrong workspace', s => s.replace('`C:/Users/BY-OY/Desktop/code/chongchong-global`', '`C:/Users/BY-OY/Desktop/code/chongchong-global-dev`')],
|
||||
['duplicate task', s => s.replace('01a0f14c-962f-73c3-b1aa-9df555b91586', '01a0f14c-9262-7b43-990a-0e3beddcdd8a')],
|
||||
['unregistered replacement', s => s.replace('01a0f14c-962f-73c3-b1aa-9df555b91586', '00000000-0000-0000-0000-000000000000')],
|
||||
['duplicate task', s => s.replace('01a0ffcf-eea3-7111-b30b-4be63547ac33', '01a0ffcf-7150-7db3-9d8c-108e568c12b1')],
|
||||
['unregistered replacement', s => s.replace('01a0ffcf-eea3-7111-b30b-4be63547ac33', '00000000-0000-0000-0000-000000000000')],
|
||||
['obsolete empty status', s => s + '\n当前无登记任务'],
|
||||
['foreign project identity', s => s + '\n6f874ec3-d3b2-49bd-8625-327f4d685f98'],
|
||||
['retired controller', s => s + '\n01a0194a-259c-7171-8967-074731a27618'],
|
||||
|
||||
Reference in New Issue
Block a user