in src/assessments/assessment-builder.tsx [198:297]
public static Assisted(assessment: AssistedAssessment): 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,
);
if (requirementConfig.getAnalyzer == null) {
return provider.createBaseAnalyzer({
key: requirementConfig.key,
testType: assessment.visualizationType,
analyzerMessageType: Messages.Assessment.AssessmentScanCompleted,
});
}
return requirementConfig.getAnalyzer(provider);
};
const getIdentifier = (requirement: string) => {
const requirementConfig = AssessmentBuilder.getRequirementConfig(
requirements,
requirement,
);
return requirementConfig.key;
};
const getDrawer = (
provider: DrawerProvider,
requirement: string,
featureFlagStoreData?: FeatureFlagStoreData,
) => {
const requirementConfig = AssessmentBuilder.getRequirementConfig(
requirements,
requirement,
);
if (requirementConfig.getDrawer == null) {
return provider.createNullDrawer();
}
return requirementConfig.getDrawer(provider, featureFlagStoreData);
};
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[assessment.storeDataKey];
const visualizationConfiguration: AssessmentVisualizationConfiguration = {
testViewType: 'Assessment',
getAssessmentData: data => data.assessments[key],
setAssessmentData: (data, selectorMap, instanceMap) => {
const thisAssessment = data.assessments[key];
thisAssessment.fullAxeResultsMap = selectorMap;
thisAssessment.generatedAssessmentInstancesMap = instanceMap;
},
getStoreData: getStoreData,
enableTest: (data, payload) =>
AssessmentBuilder.enableTest(
getStoreData(data),
payload as AssessmentToggleActionPayload,
),
disableTest: AssessmentBuilder.disableTest,
getTestStatus: AssessmentBuilder.getTestStatus,
telemetryProcessor: factory => factory.forAssessmentRequirementScan,
...assessment.visualizationConfiguration,
key: assessment.storeDataKey,
getAnalyzer: getAnalyzer,
getIdentifier: getIdentifier,
visualizationInstanceProcessor:
AssessmentBuilder.getVisualizationInstanceProcessor(requirements),
getDrawer: getDrawer,
getNotificationMessage: getNotificationMessage,
getSwitchToTargetTabOnScan: AssessmentBuilder.getSwitchToTargetTabOnScan(requirements),
getInstanceIdentiferGenerator: AssessmentBuilder.getInstanceIdentifier(requirements),
} as AssessmentVisualizationConfiguration;
AssessmentBuilder.buildRequirementReportDescription(requirements);
return {
getVisualizationConfiguration: () => visualizationConfiguration,
...assessment,
} as Assessment;
}