feat(工作台): 细化计划进展工时证据

关键改动:

- 支持需求覆盖和调研方向开始工作记录

- 日报按计划记录开始时间和进度下次开始时间计算证据

- 更新版本编辑校验、项目展示和 workflow 说明

Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
Script Generator
2026-07-01 11:02:38 +08:00
parent e5ce2d221e
commit 8947aeaac7
18 changed files with 1125 additions and 94 deletions

View File

@@ -2,7 +2,10 @@ import assert from 'node:assert/strict';
import test from 'node:test';
import {
VERSION_DEVELOPMENT_TYPE_OPTIONS,
buildVersionName,
canSubmitNewVersionForm,
canSubmitVersionEditForm,
getEditableVersionNumber,
getRecommendedExpectedReleaseDate,
getVersionDevelopmentTypeOption,
} from './version-form';
@@ -49,6 +52,32 @@ test('canSubmitNewVersionForm blocks duplicate submits', () => {
}), false);
});
test('canSubmitVersionEditForm requires version number and expected release date', () => {
assert.equal(canSubmitVersionEditForm({
versionNumber: '',
expectedReleaseDate: '2026-07-15',
submitting: false,
}), false);
assert.equal(canSubmitVersionEditForm({
versionNumber: '1.2',
expectedReleaseDate: '',
submitting: false,
}), false);
assert.equal(canSubmitVersionEditForm({
versionNumber: '1.2',
expectedReleaseDate: '2026-07-15',
submitting: false,
}), true);
});
test('version edit helpers keep the project prefix and editable version number separate', () => {
assert.equal(getEditableVersionNumber('小白项目', '小白项目V1.2.3'), '1.2.3');
assert.equal(getEditableVersionNumber('小白项目', '其他项目V2.0'), '2.0');
assert.equal(buildVersionName('小白项目', '1.2.3'), '小白项目V1.2.3');
});
test('version development type estimates include product design development and testing', () => {
const agile = getVersionDevelopmentTypeOption('agile');