jest-allure2-reporter
Version:
Idiomatic Jest reporter for Allure Framework
41 lines • 2.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extendOptions = extendOptions;
const tslib_1 = require("tslib");
const node_path_1 = tslib_1.__importDefault(require("node:path"));
const customizers = tslib_1.__importStar(require("./custom"));
const extractors = tslib_1.__importStar(require("./common"));
function extendOptions(base, custom) {
return {
overwrite: custom?.overwrite ?? base.overwrite,
resultsDir: node_path_1.default.resolve(custom?.resultsDir ?? base.resultsDir),
injectGlobals: custom?.injectGlobals ?? base.injectGlobals,
attachments: {
subDir: custom?.attachments?.subDir ?? base.attachments.subDir,
contentHandler: custom?.attachments?.contentHandler ?? base.attachments.contentHandler,
fileHandler: custom?.attachments?.fileHandler ?? base.attachments.fileHandler,
},
sourceCode: custom?.sourceCode
? mergeSourceCodeConfigs(base.sourceCode, customizers.sourceCode(custom.sourceCode))
: base.sourceCode,
categories: extractors.compose2(extractors.appender(custom?.categories), base.categories),
environment: extractors.compose2(extractors.merger(custom?.environment, {}), base.environment),
executor: extractors.compose2(extractors.merger(custom?.executor, {}), base.executor),
helpers: extractors.compose2(customizers.helpers(custom?.helpers), base.helpers),
testRun: extractors.compose2(customizers.testCase(custom?.testRun), base.testRun),
testFile: extractors.compose2(customizers.testCase(custom?.testFile), base.testFile),
testCase: extractors.compose2(customizers.testCase(custom?.testCase), base.testCase),
testStep: extractors.compose2(customizers.testStep(custom?.testStep), base.testStep),
writer: custom?.writer ?? base.writer,
};
}
function mergeSourceCodeConfigs(base, custom) {
return {
enabled: custom.enabled ?? base.enabled,
factories: { ...base.factories, ...custom.factories },
options: { ...base.options, ...custom.options },
// This field is populated by the reporter itself
plugins: base.plugins,
};
}
//# sourceMappingURL=extendOptions.js.map