fix(小宝预警): 接入静默风险证据
This commit is contained in:
@@ -128,3 +128,55 @@ test('calcXiaobaoVersionRisk preserves daily evidence on the returned risk objec
|
||||
|
||||
assert.equal(risk.dailyEvidence, dailyEvidence);
|
||||
});
|
||||
|
||||
test('calcXiaobaoVersionRisk uses silent risks from daily evidence', () => {
|
||||
const silentRisk = {
|
||||
key: 'no_progress_today',
|
||||
title: '今日无进展',
|
||||
detail: '进行中的任务今天没有动态。',
|
||||
itemId: 'dev-1',
|
||||
itemType: 'dev_task' as const,
|
||||
};
|
||||
const dailyEvidence: VersionDailyEvidence = {
|
||||
todayDeliveries: [],
|
||||
todayProgress: [],
|
||||
todayRisks: [],
|
||||
progressNotes: [],
|
||||
needsProgressItems: [],
|
||||
recentActivityCount: 0,
|
||||
silentRisks: [silentRisk],
|
||||
};
|
||||
|
||||
const risk = calcXiaobaoVersionRisk({
|
||||
version: version(),
|
||||
devTasks: [],
|
||||
testCases: [],
|
||||
bugs: [],
|
||||
dailyEvidence,
|
||||
now: new Date('2026-07-02T01:00:00.000Z'),
|
||||
});
|
||||
|
||||
assert.deepEqual(risk.silentRisks, [silentRisk]);
|
||||
assert.equal(risk.signals.silentRiskCount, 1);
|
||||
assert.ok(risk.riskScore > 0);
|
||||
assert.ok(risk.reasons.some((reason: { key: string }) => reason.key === 'silent_risk'));
|
||||
});
|
||||
|
||||
test('calcXiaobaoVersionRisk preserves null expected release date as a compatible output value', () => {
|
||||
const versionWithNullRelease = {
|
||||
id: 'ver-null-release',
|
||||
name: 'V1.1',
|
||||
expectedReleaseDate: null,
|
||||
members: [],
|
||||
};
|
||||
|
||||
const risk = calcXiaobaoVersionRisk({
|
||||
version: versionWithNullRelease,
|
||||
devTasks: [],
|
||||
testCases: [],
|
||||
bugs: [],
|
||||
now: new Date('2026-07-02T01:00:00.000Z'),
|
||||
});
|
||||
|
||||
assert.equal(risk.expectedReleaseDate, null);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user