jest-allure2-reporter
Version:
Idiomatic Jest reporter for Allure Framework
28 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineTestCaseAndSteps = combineTestCaseAndSteps;
const utils_1 = require("../utils");
async function resolveSteps(steps) {
if (!steps) {
return;
}
const statuses = await Promise.all(steps.map((s) => s.ignored));
const notIgnoredSteps = steps.filter((_step, index) => !statuses[index]);
const result = await Promise.all(notIgnoredSteps.map(utils_1.resolvePromisedProperties));
for (const innerStep of result) {
await resolveSteps(innerStep.steps);
}
return result;
}
function combineTestCaseAndSteps(testCase, testSteps) {
return function combinedExtractor(context) {
const test = testCase({ ...context, value: {} });
const steps = testSteps({ ...context, value: [] });
Object.defineProperty(test, 'steps', {
enumerable: true,
get: (0, utils_1.onceWithLoopDetection)(resolveSteps.bind(null, steps)),
});
return test;
};
}
//# sourceMappingURL=combineTestCaseAndSteps.js.map