UNPKG

cucumber-html-report-generator

Version:

Generate beautiful cucumberjs html reports for multiple instances (browsers / devices)

49 lines 2.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generate = exports.insertReportIntoDatabase = exports.generateHtmlReport = void 0; const feature_collector_1 = require("../feature-collector/feature-collector"); const collect_jsons_1 = require("../collect-jsons/collect-jsons"); const generate_html_1 = require("./helpers/generate-html"); const suite_formatter_1 = require("./ReportObjectsFormatters/suite-formatter"); const axios_1 = __importDefault(require("axios")); const application_properties_validation_1 = require("../helpers/application-properties-validation"); const generateHtmlReport = async (reportConfiguration, jsonReport) => { const reportConfigurationInitialized = application_properties_validation_1.userPropertiesValidation.initializeReportDisplayParameters(reportConfiguration); await new generate_html_1.GenerateHtml(jsonReport, reportConfigurationInitialized).createHtmlPages(); }; exports.generateHtmlReport = generateHtmlReport; const insertReportIntoDatabase = async (jsonReport, userProperties) => { return (await axios_1.default.request({ transitional: { silentJSONParsing: false }, responseType: 'json', method: 'POST', url: `${userProperties.mongooseServerUrl}/insertReport`, data: jsonReport, maxRedirects: 0, maxBodyLength: Infinity, maxContentLength: Infinity, headers: { 'content-type': 'application/json' } })).data.reportId; }; exports.insertReportIntoDatabase = insertReportIntoDatabase; const generate = async (userProperties) => { const checkedUserProperties = application_properties_validation_1.userPropertiesValidation.checkReportGenerationParameters(userProperties); const features = await new feature_collector_1.CollectFeatureFiles(checkedUserProperties).collectFeatures(); const jsonFiles = await new collect_jsons_1.CollectJsons(checkedUserProperties).createJoinedJson(); const jsonReport = await new suite_formatter_1.SuiteFactory(checkedUserProperties).parseJsons(jsonFiles, features); let reportId = null; if (checkedUserProperties.saveReportInMongoDb) { reportId = await (0, exports.insertReportIntoDatabase)(jsonReport, checkedUserProperties); } await (0, exports.generateHtmlReport)(checkedUserProperties, jsonReport); return reportId; }; exports.generate = generate; //# sourceMappingURL=generate-report.js.map