fix(frontend): 保持重新生成退出前详情
This commit is contained in:
@@ -722,19 +722,28 @@ assert.match(regenerationSource, /getDataProcessPreview\(taskId, \{ page: 1, pag
|
||||
assert.match(viewSource, /if \(hydrating\.value\) return/, '任务水合期间仍可能触发重置副作用')
|
||||
assert.match(regenerationSource, /currentSignature !== originalPreviewConfigSignature\.value[\s\S]*?currentSignature === confirmedPreviewConfigSignature\.value/, '切分变更确认没有按原签名和已确认签名去重')
|
||||
assert.match(regenerationSource, /if \(!bindings\.previewItems\.value\.length\) return true/, '没有现有切片时仍会弹出删除切片警告')
|
||||
assert.ok(regenerationSource.includes('删除现有切片和生成结果;已发布三数据集暂时保留'), '切分变更警告没有说明完整影响范围')
|
||||
assert.ok(regenerationSource.includes('点击“开始生成”前,原生成结果和已发布数据会继续保留'), '切分变更警告没有说明开始生成前原结果与发布数据仍保留')
|
||||
assert.doesNotMatch(regenerationSource, /原切片、原生成结果/, '切分变更警告不应承诺实际重切后仍保留原切片')
|
||||
assert.doesNotMatch(regenerationSource, /修改预处理或切分配置将删除现有切片和生成结果/, '准备配置阶段仍误称会立即删除原数据')
|
||||
assert.match(regenerationSource, /regenerateDataProcessTask\(sourceTaskId\.value,[\s\S]*?expected_updated_at: originalTaskUpdatedAt\.value/, '第二步没有携带最新乐观并发版本重新生成任务')
|
||||
assert.match(regenerationSource, /originalTaskUpdatedAt\.value = regenerated\.task\.updated_at/, '重新生成成功后没有更新下一次提交的并发版本')
|
||||
assert.match(regenerationSource, /if \(regenerationPrepared\.value\) \{[\s\S]*?getDataProcessTask\(sourceTaskId\.value\)[\s\S]*?originalTaskUpdatedAt\.value = latestTask\.updated_at/, '服务端中间操作后再次提交没有刷新任务并发版本')
|
||||
assert.match(regenerationSource, /regenerationPrepared\.value = true/, '重新生成提交成功后没有记录服务端已变更状态')
|
||||
assert.match(regenerationSource, /hydrateWorkspace\(regeneratedTask, !regenerated\.preview_invalidated\)/, '重新生成没有按 preview_invalidated 决定保留或清空切片')
|
||||
assert.match(regenerationSource, /任务已进入重新生成状态,但工作区恢复失败/, '重新生成已提交但水合失败时缺少可恢复错误状态')
|
||||
assert.match(regenerationSource, /重新生成配置已保存,但工作区恢复失败/, '重新生成配置已保存但水合失败时缺少可恢复错误状态')
|
||||
assert.match(regenerationSource, /return chunks\.join\(''\)/, '分页恢复源正文时不应额外插入换行')
|
||||
assert.doesNotMatch(regenerationSource, /binaryDocument[\s\S]*?mapDataProcessSourceFile\(file, ''\)/, '二进制源正文加载失败时不能静默降级为空内容')
|
||||
assert.match(nextFromModelSource, /if \(isRegeneration\.value\) \{[\s\S]*?prepareRegeneration\(taskPayload\(\)\)/, '重新生成每次从模型步骤继续时没有调用专用接口')
|
||||
assert.doesNotMatch(nextFromModelSource, /isRegeneration\.value && !taskId\.value/, '重新生成提交一次后可能错误转为普通任务更新')
|
||||
assert.ok(viewSource.includes('已提交到服务端的修改不会因离开页面而撤销'), '离开提示没有说明已提交服务端的修改不可撤销')
|
||||
assert.match(viewSource, /regenerationPrepared\.value \? '离开页面' : '放弃修改'/, '服务端已提交后离开按钮仍使用误导性的放弃修改文案')
|
||||
assert.ok(regenerationSource.includes('重新生成配置已保存,但尚未开始生成'), '准备完成后离开提示没有区分尚未开始生成')
|
||||
assert.ok(regenerationSource.includes('返回详情不会替换原生成结果或已发布数据'), '准备完成后离开提示未说明原详情仍保留')
|
||||
assert.match(viewSource, /const leaveConfirmText = computed\(\(\) => isRegeneration\.value \? '返回详情' : '放弃修改'\)/, '重新生成离开按钮仍使用误导性文案')
|
||||
assert.match(regenerationSource, /async function returnToDetail\(\)[\s\S]*?router\.replace\(\{ name: 'data-process-detail', params: \{ id: sourceTaskId\.value \} \}\)/, '重新生成退出没有显式返回原任务详情')
|
||||
assert.match(viewSource, /async function returnToPreviousPage\(\)[\s\S]*?isRegeneration\.value && await returnToDetail\(\)/, '退出按钮没有使用显式返回详情逻辑')
|
||||
assert.match(viewSource, /\{\{ isRegeneration \? '返回详情' : '取消' \}\}/, '重新生成第一步退出按钮没有明确标识返回详情')
|
||||
assert.match(regenerationSource, /async function confirmStartGeneration\([\s\S]*?开始重新生成?[\s\S]*?当前生成结果将被替换[\s\S]*?confirmText: '开始生成'[\s\S]*?syncPreviewChanges\(\)/, '开始生成前没有明确破坏性边界或同步预览修改')
|
||||
assert.match(viewSource, /beforeGenerate: beforeStartGeneration[\s\S]*?async function beforeStartGeneration\(\)[\s\S]*?confirmStartGeneration\([\s\S]*?syncPreviewChanges/, '生成流程没有在真实开始前调用确认边界')
|
||||
assert.match(generationSource, /const canStart = await bindings\.beforeGenerate\?\.\(\)[\s\S]*?if \(canStart === false\) return[\s\S]*?generateDataProcess\(taskId\)/, '用户取消开始生成时仍可能调用真实生成 API')
|
||||
assert.match(viewSource, /v-if="initializationError"[\s\S]*?@click="loadRegenerationSource"[\s\S]*?重试加载原任务/, '原任务初始化失败后缺少安全重试入口')
|
||||
assert.match(regenerationSource, /previewStatus = preservePreviews && count > 0 \? 'success' : 'waiting'/, '保留切片时没有跳过重切,或切片失效后未回到等待状态')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user