UNPKG

e2ed

Version:

E2E testing framework over Playwright

61 lines (60 loc) 2.51 kB
"use strict"; 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;