fix(data): 清理旧数据并保护服务端写入

This commit is contained in:
Script Generator
2026-07-02 09:30:50 +08:00
parent 28e0c6de19
commit 916bd17a48
38 changed files with 1346 additions and 194 deletions

View File

@@ -0,0 +1,41 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import {
filterRequirementProjectOptions,
filterRequirementVersionOptions,
} from './requirement';
const projects = [
{ id: 'project-1', name: 'Mobile App', productId: 'product-1' },
{ id: 'project-2', name: 'Admin Portal', productId: 'product-1' },
{ id: 'project-3', name: 'Data Console', productId: 'product-2' },
];
const versions = [
{ id: 'version-1', name: 'V1.0 Checkout', projectId: 'project-1' },
{ id: 'version-2', name: 'V1.1 Profile', projectId: 'project-1' },
{ id: 'version-3', name: 'V2.0 Admin', projectId: 'project-2' },
];
test('filters requirement project options by selected product and keyword', () => {
assert.deepEqual(filterRequirementProjectOptions(projects, '', '').map((project) => project.id), []);
assert.deepEqual(filterRequirementProjectOptions(projects, 'product-1', '').map((project) => project.id), [
'project-1',
'project-2',
]);
assert.deepEqual(filterRequirementProjectOptions(projects, 'product-1', 'portal').map((project) => project.id), [
'project-2',
]);
});
test('filters requirement version options by selected project and keyword', () => {
assert.deepEqual(filterRequirementVersionOptions(versions, '', '').map((version) => version.id), []);
assert.deepEqual(filterRequirementVersionOptions(versions, 'project-1', 'v1').map((version) => version.id), [
'version-1',
'version-2',
]);
assert.deepEqual(filterRequirementVersionOptions(versions, 'project-2', 'admin').map((version) => version.id), [
'version-3',
]);
});