fix(version): 限制任务需求候选为版本已关联需求

This commit is contained in:
2026-07-06 11:43:23 +08:00
parent bc6e9357ea
commit 8d61bb7c13
7 changed files with 84 additions and 12 deletions

View File

@@ -1,7 +1,11 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { getProjectAdoptedRequirementCandidates, mergeSelectedRequirementOptions } from './requirement-selector';
import {
getProjectAdoptedRequirementCandidates,
getVersionLinkedRequirementCandidates,
mergeSelectedRequirementOptions,
} from './requirement-selector';
import type { Requirement } from './requirement';
const base = {
@@ -38,6 +42,17 @@ test('returns only adopted requirements from current project', () => {
assert.deepEqual(result.map((r: Requirement) => r.id), ['r1']);
});
test('returns only requirements already linked to current version', () => {
const result = getVersionLinkedRequirementCandidates([
req('r1', 'project-1', 'adopted'),
req('r2', 'project-1', 'developing'),
req('r3', 'project-1', 'adopted'),
req('r4', 'project-2', 'adopted'),
], ['r2', 'r1']);
assert.deepEqual(result.map((r: Requirement) => r.id), ['r2', 'r1']);
});
test('keeps historical selected requirements as non-candidate options', () => {
const options = mergeSelectedRequirementOptions(
[req('r1', 'project-1', 'adopted')],