public static Manual()

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;
    }