Files
ftb-project-management/apps/web/lib/work-activity-research-direction.test.ts
Script Generator 3d3d56697a feat(版本): 完善研发计划与预警已读
关键改动:

- 增加版本表单、发布校验和调研方向进度规则

- 扩展小宝预警已读状态、风险签名和今日证据

- 补充组长权限、加班查看范围、活动记录与相关测试

Co-Authored-By: Codex GPT-5 <codex@openai.com>
2026-06-30 16:48:58 +08:00

50 lines
1.9 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: '补充支付流程差异',
});
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, '补充支付流程差异');
});