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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 1x 1x 1x 1x 1x 1x 1x | import {
AnalysisResult,
createProvider,
ToolName,
ScanOptions,
} from '@aiready/core';
import { analyzeTestability } from './analyzer';
import { calculateTestabilityScore } from './scoring';
import { TestabilityOptions, TestabilityReport } from './types';
/**
* Testability Tool Provider
*/
export const TestabilityProvider = createProvider({
id: ToolName.TestabilityIndex,
alias: ['testability', 'tests', 'verification'],
version: '0.2.5',
defaultWeight: 10,
async analyzeReport(options: ScanOptions) {
return analyzeTestability(options as TestabilityOptions);
},
getResults(report): AnalysisResult[] {
return report.issues.map((issue) => ({
fileName: issue.location.file,
issues: [issue] as any[],
metrics: {
testabilityScore: report.summary.score,
},
}));
},
getSummary(report) {
return report.summary;
},
getMetadata(report) {
return { rawData: report.rawData };
},
score(output) {
const report = {
summary: output.summary,
rawData: (output.metadata as any).rawData,
recommendations: (output.summary as any).recommendations || [],
} as unknown as TestabilityReport;
return calculateTestabilityScore(report);
},
});
|