Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 7x 7x | import { ToolName, buildStandardToolScore } from '@aiready/core';
import type { TestabilityReport } from './types';
/**
* Convert testability report into a ToolScoringOutput for the unified score.
*/
export function calculateTestabilityScore(report: TestabilityReport): any {
const { summary, rawData, recommendations } = report;
return buildStandardToolScore({
toolName: ToolName.TestabilityIndex,
score: summary.score,
rawData,
dimensions: summary.dimensions,
dimensionNames: {
testCoverageRatio: 'Test Coverage',
purityScore: 'Function Purity',
dependencyInjectionScore: 'Dependency Injection',
interfaceFocusScore: 'Interface Focus',
observabilityScore: 'Observability',
},
recommendations,
recommendationImpact:
summary.aiChangeSafetyRating === 'blind-risk' ? 15 : 8,
rating: summary.aiChangeSafetyRating || summary.rating,
});
}
|