cucumber-html-report-generator
Version:
Generate beautiful cucumberjs html reports for multiple instances (browsers / devices)
33 lines (25 loc) • 1.76 kB
text/typescript
import * as CommonFunctions from '../common-functions/common-functions';
import * as Messages from './console-messages';
import type * as Models from '../models/models';
class ApplicationPropertiesValidation {
public checkReportGenerationParameters ( reportGenerationParameters: Models.ReportGeneration | null ): Models.ReportGeneration {
if ( !reportGenerationParameters ) {
throw new Error( Messages.optionsNotProvided );
}
CommonFunctions.checkFolder( reportGenerationParameters.jsonDir );
return this.initializeReportGenerationParameters( reportGenerationParameters );
}
public initializeReportGenerationParameters ( reportGenerationParameters: Models.ReportGeneration ): Models.ReportGeneration {
reportGenerationParameters.mongooseServerUrl = reportGenerationParameters.mongooseServerUrl ?? 'http://localhost:3000';
reportGenerationParameters.reportTitle = reportGenerationParameters.reportTitle ?? 'Cucumber HTML Report Generator';
reportGenerationParameters.reportPath = CommonFunctions.initializePath( reportGenerationParameters.reportPath );
return reportGenerationParameters;
}
public initializeReportDisplayParameters ( reportConfigurationParameters: Models.ReportDisplay | undefined ): Models.ReportDisplay {
const localReportDisplayParameters = reportConfigurationParameters ?? <Models.ReportDisplay>{};
localReportDisplayParameters.theme = localReportDisplayParameters.theme === 'Light' ? localReportDisplayParameters.theme : 'Dark' ;
localReportDisplayParameters.reportPath = CommonFunctions.initializePath( localReportDisplayParameters.reportPath );
return localReportDisplayParameters;
}
}
export const userPropertiesValidation = new ApplicationPropertiesValidation();