关键改动: - 支持需求覆盖和调研方向开始工作记录 - 日报按计划记录开始时间和进度下次开始时间计算证据 - 更新版本编辑校验、项目展示和 workflow 说明 Co-Authored-By: Codex GPT-5 <codex@openai.com>
52 lines
2.0 KiB
TypeScript
52 lines
2.0 KiB
TypeScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
|
|
import type { VersionPlan } from './version-plan';
|
|
import * as workActivityFactory from './work-activity-factory';
|
|
|
|
function plan(patch: Partial<VersionPlan> = {}): VersionPlan {
|
|
return {
|
|
id: 'plan-1',
|
|
versionId: 'version-1',
|
|
type: 'research',
|
|
title: '支付链路调研',
|
|
owner: 'PM',
|
|
startTime: '2026-06-30T09:00',
|
|
endTime: '2026-06-30T18:00',
|
|
status: 'in_progress',
|
|
createdAt: '2026-06-30',
|
|
addedBy: 'PM',
|
|
...patch,
|
|
};
|
|
}
|
|
|
|
test('makeVersionPlanResearchDirectionProgressActivity records direction progress details', () => {
|
|
const makeVersionPlanResearchDirectionProgressActivity = (workActivityFactory as any).makeVersionPlanResearchDirectionProgressActivity as undefined | Function;
|
|
assert.equal(typeof makeVersionPlanResearchDirectionProgressActivity, 'function');
|
|
|
|
const activity = makeVersionPlanResearchDirectionProgressActivity!(plan(), {
|
|
id: 'log-1',
|
|
type: 'research_direction_progress',
|
|
createdAt: '2026-06-30T10:00:00.000Z',
|
|
actor: 'PM',
|
|
title: '竞品分析更新为部分完成',
|
|
directionTaskId: 'task-1',
|
|
directionTitle: '竞品分析',
|
|
coverageStatus: 'partial',
|
|
completedContent: '完成登录流程对比',
|
|
remainingContent: '补充支付流程差异',
|
|
workStartedAt: '2026-06-30T09:30:00.000Z',
|
|
});
|
|
|
|
assert.equal(activity?.action, 'version_plan_research_direction_progress');
|
|
assert.equal(activity?.category, 'progress');
|
|
assert.equal(activity?.sourceType, 'version_plan');
|
|
assert.equal(activity?.sourceId, 'plan-1');
|
|
assert.equal(activity?.occurredAt, '2026-06-30T10:00:00.000Z');
|
|
assert.equal(activity?.summary, '推进调研方向:竞品分析(部分完成)');
|
|
assert.equal(activity?.metadata?.directionTaskId, 'task-1');
|
|
assert.equal(activity?.metadata?.completedContent, '完成登录流程对比');
|
|
assert.equal(activity?.metadata?.remainingContent, '补充支付流程差异');
|
|
assert.equal(activity?.metadata?.workStartedAt, '2026-06-30T09:30:00.000Z');
|
|
});
|