UNPKG

jest-allure2-reporter

Version:
105 lines 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeTestFileMetadata = mergeTestFileMetadata; exports.mergeTestCaseMetadata = mergeTestCaseMetadata; exports.mergeTestStepMetadata = mergeTestStepMetadata; function mergeTestFileMetadata(a, b) { return mergeTestCaseMetadata(a, b); } function mergeTestCaseMetadata(a, b) { return b ? { ...mergeTestItemMetadata(a, b), description: mergeArrays(a.description, b.description), descriptionHtml: mergeArrays(a.descriptionHtml, b.descriptionHtml), historyId: b.historyId ?? a.historyId, fullName: b.fullName ?? a.fullName, labels: mergeArrays(a.labels, b.labels), links: mergeArrays(a.links, b.links), } : a; } function mergeTestStepMetadata(a, b) { return b ? { ...mergeTestItemMetadata(a, b), hookType: b.hookType ?? a.hookType, steps: mergeArrays(a.steps, b.steps)?.map((step) => mergeTestStepMetadata({}, step)), } : a; } function mergeTestItemMetadata(a, b) { return b ? { attachments: mergeArrays(a.attachments, b.attachments), currentStep: mergeCurrentStep(a, b), displayName: b.displayName ?? a.displayName, sourceLocation: b.sourceLocation ?? a.sourceLocation, transformedCode: b.transformedCode ?? a.transformedCode, parameters: mergeArrays(a.parameters, b.parameters), stage: mergeStage(b.stage, a.stage), start: min(b.start, a.start), status: mergeStatus(a.status, b.status), statusDetails: mergeStatusDetails(a, b), stop: max(b.stop, a.stop), } : a; } function mergeArrays(a, b) { if (a && b) { return [...a, ...b]; } return a ?? b; } function min(a, b) { if (a != null && b != null) { return Math.min(a, b); } return a ?? b; } function max(a, b) { if (a != null && b != null) { return Math.max(a, b); } return a ?? b; } function mergeStage(a, b) { if (a === 'interrupted' || b === 'interrupted') { return 'interrupted'; } return b ?? a; } function mergeStatus(a, b) { if (a === 'broken' || b === 'broken') { return 'broken'; } if (a === 'failed' || b === 'failed') { return 'failed'; } return b ?? a; } function mergeStatusDetails(a, b) { if (a.status === 'broken' && a.statusDetails) { return a.statusDetails; } if (b.status === 'broken' && b.statusDetails) { return b.statusDetails; } if (a.status === 'failed' && a.statusDetails) { return a.statusDetails; } if (b.status === 'failed' && b.statusDetails) { return b.statusDetails; } return b.statusDetails ?? a.statusDetails; } function mergeCurrentStep(a, b) { if (a.stage === 'interrupted') { return a.currentStep; } if (b.stage === 'interrupted') { return b.currentStep; } return b.currentStep ?? a.currentStep; } //# sourceMappingURL=mergers.js.map