in src/assessments/assessment-builder.tsx [123:196]
public static Manual(assessment: ManualAssessment): Assessment {
const { key, requirements } = assessment;
assessment.initialDataCreator =
assessment.initialDataCreator || createInitialAssessmentTestData;
requirements.forEach(AssessmentBuilder.applyDefaultReportFieldMap);
requirements.forEach(AssessmentBuilder.applyDefaultFunctions);
const getAnalyzer = (provider: AnalyzerProvider, requirement: string) => {
const requirementConfig = AssessmentBuilder.getRequirementConfig(
requirements,
requirement,
);
return provider.createBaseAnalyzer({
key: requirementConfig.key,
testType: assessment.visualizationType,
analyzerMessageType: Messages.Assessment.AssessmentScanCompleted,
});
};
const getIdentifier = (requirement: string) => {
const requirementConfig = AssessmentBuilder.getRequirementConfig(
requirements,
requirement,
);
return requirementConfig.key;
};
const getNotificationMessage = (
selectorMap: DictionaryStringTo<any>,
requirement?: string,
) => {
const requirementConfig = AssessmentBuilder.getRequirementConfig(
requirements,
requirement,
);
if (requirementConfig.getNotificationMessage == null) {
return null;
}
return requirementConfig.getNotificationMessage(selectorMap);
};
const getStoreData: (data: TestsEnabledState) => ScanData = data =>
data.assessments[`${key}Assessment`];
const visualizationConfiguration: AssessmentVisualizationConfiguration = {
testViewType: 'Assessment',
getStoreData: getStoreData,
enableTest: (data, payload) =>
AssessmentBuilder.enableTest(
getStoreData(data),
payload as AssessmentToggleActionPayload,
),
disableTest: AssessmentBuilder.disableTest,
getTestStatus: AssessmentBuilder.getTestStatus,
getAssessmentData: data => data.assessments[key],
key: `${key}Assessment`,
getAnalyzer: getAnalyzer,
getIdentifier: getIdentifier,
visualizationInstanceProcessor: () => VisualizationInstanceProcessor.nullProcessor,
getDrawer: provider => provider.createNullDrawer(),
getNotificationMessage: getNotificationMessage,
getSwitchToTargetTabOnScan: this.getSwitchToTargetTabOnScan(requirements),
getInstanceIdentiferGenerator: this.getInstanceIdentifier(requirements),
};
this.buildRequirementReportDescription(requirements);
return {
getVisualizationConfiguration: () => visualizationConfiguration,
...assessment,
} as Assessment;
}