UNPKG

detox-allure2-adapter

Version:
74 lines 2.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const internals_1 = require("detox/internals"); const historyId = ({ value }) => { const { type } = internals_1.config.device; const platform = type.split('.')[0]; return `${platform}:${value}`; }; const device = () => { const { type, device } = internals_1.config.device; switch (type) { case 'ios.simulator': { return [device.type, device.os].filter(Boolean).join(', ') || 'iOS Simulator'; } case 'android.emulator': { return device.avdName || 'Android Emulator'; } case 'android.genycloud': { return device.recipeName || 'Genymotion SaaS'; } default: { return; } } }; const statusDetails = ({ value }) => { const maybeValue = value; const message = maybeValue?.message; const trace = maybeValue?.trace; if (typeof message === 'string' && (!trace || typeof trace === 'string')) { const lines = message.split('\n'); if (lines.length > 1) { const [first, ...rest] = message.split('\n'); if (trace) { rest.push(trace); } return { message: first, trace: rest.join('\n').trimStart(), }; } } return value; }; const status = ({ testCase: { failureMessages }, value, }) => { if (value !== 'broken') { return value; } return failureMessages.every((x) => x.includes('Test Failed:')) ? 'failed' : 'broken'; }; const options = { overwrite: internals_1.session.testSessionIndex === 0, resultsDir: 'artifacts', attachments: { fileHandler: 'copy', }, testCase: { historyId, status, statusDetails, parameters: { device, }, }, testFile: { historyId, statusDetails, parameters: { device, }, }, }; exports.default = options; //# sourceMappingURL=allure.js.map