feat(版本): 记录计划需求进展活动
关键改动: - 记录产品/UI 计划需求覆盖进展,并写入工作活动与实体日志 - 日报和小宝预警补充需求进展活动证据 - 调整版本列表与需求覆盖面板展示,并补充测试 Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
@@ -163,6 +163,8 @@ test('updates requirement coverage, syncs legacy completed ids, and creates a pl
|
||||
assert.equal(next.logs?.[0]?.type, 'requirement_progress');
|
||||
assert.equal(next.logs?.[0]?.actor, 'PM');
|
||||
assert.equal(next.logs?.[0]?.requirementCode, 'QY0001');
|
||||
assert.equal(next.logs?.[0]?.completedContent, '完成移动端主流程');
|
||||
assert.equal(next.logs?.[0]?.remainingContent, 'PC 端筛选规则未完成');
|
||||
});
|
||||
|
||||
test('validates requirement coverage record drafts by status', () => {
|
||||
@@ -178,3 +180,16 @@ test('validates requirement coverage record drafts by status', () => {
|
||||
assert.equal(canSaveRequirementCoverageDraft!('partial', '完成主流程', '补充异常状态'), true);
|
||||
assert.equal(canSaveRequirementCoverageDraft!('not_started'), false);
|
||||
});
|
||||
|
||||
test('hides coverage record action after a requirement is completed', () => {
|
||||
const canOpenRequirementCoverageRecord = (versionPlan as any).canOpenRequirementCoverageRecord as undefined | ((
|
||||
status: string,
|
||||
canEdit: boolean,
|
||||
) => boolean);
|
||||
assert.equal(typeof canOpenRequirementCoverageRecord, 'function');
|
||||
|
||||
assert.equal(canOpenRequirementCoverageRecord!('not_started', true), true);
|
||||
assert.equal(canOpenRequirementCoverageRecord!('partial', true), true);
|
||||
assert.equal(canOpenRequirementCoverageRecord!('completed', true), false);
|
||||
assert.equal(canOpenRequirementCoverageRecord!('partial', false), false);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user