UNPKG

e2ed

Version:

E2E testing framework over Playwright

44 lines (43 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processStepError = void 0; const error_1 = require("../error"); const object_1 = require("../object"); /** * Processes `step` error. * @internal */ // eslint-disable-next-line complexity const processStepError = ({ error, errorProperties, logEvent }) => { const message = `Caught an error in step "${errorProperties.stepName}"`; let stepError = error; if (!(stepError instanceof error_1.E2edError) && Object.getOwnPropertySymbols(stepError ?? {}).length > 0) { stepError = new error_1.E2edError(message, { cause: String(stepError), ...errorProperties, }); } if (stepError !== null && (typeof stepError === 'object' || typeof stepError === 'function')) { if (!('stepName' in stepError)) { Object.assign(stepError, errorProperties, 'message' in stepError ? { originalMessage: stepError.message } : undefined); } } else { stepError = new error_1.E2edError(message, { cause: stepError, ...errorProperties }); } if (logEvent !== undefined) { if (logEvent.payload !== undefined) { (0, object_1.setReadonlyProperty)(logEvent.payload, 'error', stepError); (0, object_1.setReadonlyProperty)(logEvent.payload, 'logEventStatus', "failed" /* LogEventStatus.Failed */); } else { (0, object_1.setReadonlyProperty)(logEvent, 'payload', { error: stepError, logEventStatus: "failed" /* LogEventStatus.Failed */, }); } } return stepError; }; exports.processStepError = processStepError;