e2ed
Version:
E2E testing framework over Playwright
61 lines (60 loc) • 2.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerEndE2edRunEvent = void 0;
const internal_1 = require("../../constants/internal");
const exit_1 = require("../exit");
const fs_1 = require("../fs");
const generalLog_1 = require("../generalLog");
const object_1 = require("../object");
const getReports_1 = require("./getReports");
const runAfterPackFunctions_1 = require("./runAfterPackFunctions");
const writeReports_1 = require("./writeReports");
let isEndAlreadyCalled = false;
/**
* Registers end e2ed run event (for report) after closing of all tests.
* @internal
*/
// eslint-disable-next-line max-statements
const registerEndE2edRunEvent = async () => {
if (isEndAlreadyCalled) {
return;
}
isEndAlreadyCalled = true;
const message = 'Starting to close e2ed...';
try {
(0, generalLog_1.generalLog)(message);
}
catch {
// eslint-disable-next-line no-console
console.log(message);
}
let reportData;
try {
let liteReport;
({ liteReport, reportData } = await (0, getReports_1.getReports)());
await (0, fs_1.removeDirectory)(internal_1.TMP_DIRECTORY_PATH);
try {
await (0, runAfterPackFunctions_1.runAfterPackFunctions)(liteReport);
}
catch (error) {
(0, generalLog_1.generalLog)('Caught an error on run "after pack" functions', { error });
(0, object_1.setReadonlyProperty)(liteReport, 'exitCode', 6 /* ExitCode.HasErrorsInDoAfterPackFunctions */);
(0, object_1.setReadonlyProperty)(reportData, 'exitCode', 6 /* ExitCode.HasErrorsInDoAfterPackFunctions */);
}
const { customReportProperties } = liteReport;
if (customReportProperties !== undefined) {
(0, object_1.setReadonlyProperty)(reportData, 'customReportProperties', customReportProperties);
}
const endTimeInMs = Date.now();
(0, object_1.setReadonlyProperty)(liteReport, 'endTimeInMs', endTimeInMs);
(0, object_1.setReadonlyProperty)(reportData, 'endTimeInMs', endTimeInMs);
await (0, writeReports_1.writeReports)({ liteReport, reportData });
}
catch (error) {
(0, generalLog_1.generalLog)('Caught an error while collecting the report data or writing the HTML report and lite report', { error });
}
finally {
await (0, exit_1.exitFromE2ed)(reportData?.exitCode);
}
};
exports.registerEndE2edRunEvent = registerEndE2edRunEvent;