UNPKG

mocha8allure

Version:

Allure mocha reporter

75 lines 7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const constants_1 = require("./constants"); const context_1 = require("./context"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const uuid_1 = require("uuid"); class MochaLogger { step(mochaContext, loggerStep) { if (mochaContext.test.type === "hook" && process.env.SHOW_HOOKS === "false") return; const step = this.buildStep(loggerStep); context_1.suites .find((s) => s.suiteId === mochaContext.test.parent.__mocha_id__)["test-suite"]["test-cases"]["test-case"].find((t) => t.testId === mochaContext.test.__mocha_id__) .steps.step.push(step); } addLog(mochaContext, title, message, type = constants_1.AllureMimeTypes.txt) { if (mochaContext.test.type === "hook" && process.env.SHOW_HOOKS === "false") return; const attachment = this.addAttachment(title, message, type); context_1.suites .find((s) => s.suiteId === mochaContext.test.parent.__mocha_id__)["test-suite"]["test-cases"]["test-case"].find((t) => t.testId === mochaContext.test.__mocha_id__) .attachments.attachment.push(attachment); } buildStep(loggerStep) { const allureStep = { _attributes: { start: Date.now(), stop: Date.now(), status: loggerStep.status ? loggerStep.status : "passed", }, name: loggerStep.name, title: loggerStep.title ? loggerStep.title : loggerStep.name, attachments: { attachment: [] }, steps: { step: [] }, }; if (loggerStep.attachments && loggerStep.attachments.length > 0) { for (const attachment of loggerStep.attachments) { const att = this.addAttachment(attachment.title, attachment.data, attachment.type); allureStep.attachments.attachment.push(att); } } if (loggerStep.steps && loggerStep.steps.length > 0) { for (const step of loggerStep.steps) { allureStep.steps.step.push(this.buildStep(step)); } } return allureStep; } addAttachment(title, data, type) { const source = uuid_1.v4() + "-attachment." + this.getEnumKeyByEnumValue(constants_1.AllureMimeTypes, type); const attachment = { _attributes: { title, source, type, }, }; fs_1.default.writeFileSync(path_1.default.join(process.env.resultsPath, source), data); return attachment; } getEnumKeyByEnumValue(myEnum, enumValue) { const keys = Object.keys(myEnum).filter((x) => myEnum[x] == enumValue); return keys.length > 0 ? keys[0] : null; } } exports.default = new MochaLogger(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUE4QztBQUM5Qyx1Q0FBbUM7QUFFbkMsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QiwrQkFBb0M7QUFDcEMsTUFBTSxXQUFXO0lBQ1IsSUFBSSxDQUFDLFlBQTJCLEVBQUUsVUFBc0I7UUFDN0QsSUFDRyxZQUFZLENBQUMsSUFBWSxDQUFDLElBQUksS0FBSyxNQUFNO1lBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLE9BQU87WUFFbEMsT0FBTztRQUNULE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsZ0JBQU07YUFDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFjLENBQUMsWUFBWSxDQUFDLENBQ3pFLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDNUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQU0sWUFBWSxDQUFDLElBQVksQ0FBQyxZQUFZLENBQzVEO2FBQ0EsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNNLE1BQU0sQ0FDWCxZQUEyQixFQUMzQixLQUFhLEVBQ2IsT0FBZSxFQUNmLElBQUksR0FBRywyQkFBZSxDQUFDLEdBQUc7UUFFMUIsSUFDRyxZQUFZLENBQUMsSUFBWSxDQUFDLElBQUksS0FBSyxNQUFNO1lBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLE9BQU87WUFFbEMsT0FBTztRQUNULE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxF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