UNPKG

@allurereport/plugin-classic

Version:

The classic version of Allure HTML report

90 lines (89 loc) 5.96 kB
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var _ClassicPlugin_writer, _ClassicPlugin_generate; import { createPluginSummary, } from "@allurereport/plugin-api"; import { preciseTreeLabels } from "@allurereport/plugin-api"; import { generateAttachmentsFiles, generateEnvironmentJson, generateHistoryDataPoints, generatePieChart, generateStaticFiles, generateStatistic, generateTestResults, generateTree, generateTreeByCategories, } from "./generators.js"; import { InMemoryReportDataWriter, ReportFileDataWriter } from "./writer.js"; export class ClassicPlugin { constructor(options = {}) { this.options = options; _ClassicPlugin_writer.set(this, void 0); _ClassicPlugin_generate.set(this, async (context, store) => { const { singleFile, groupBy = [] } = this.options ?? {}; const environmentItems = await store.metadataByKey("allure_environment"); const statistic = await store.testsStatistic(); const attachments = await store.allAttachments(); await generateStatistic(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), statistic); await generatePieChart(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), statistic); const convertedTrs = await generateTestResults(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), store); const treeLabels = preciseTreeLabels(!groupBy.length ? ["parentSuite", "suite", "subSuite"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name)); const behaviorLabels = preciseTreeLabels(!groupBy.length ? ["epic", "feature", "story"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name)); const packagesLabels = preciseTreeLabels(!groupBy.length ? ["package"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name)); await generateTreeByCategories(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "categories", convertedTrs); await generateTree(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "tree", treeLabels, convertedTrs); await generateTree(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "behaviors", behaviorLabels, convertedTrs); await generateTree(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "packages", packagesLabels, convertedTrs); await generateHistoryDataPoints(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), store); await generateEnvironmentJson(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), environmentItems ?? []); if (attachments?.length) { await generateAttachmentsFiles(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), attachments, (id) => store.attachmentContentById(id)); } const reportDataFiles = singleFile ? __classPrivateFieldGet(this, _ClassicPlugin_writer, "f").reportFiles() : []; await generateStaticFiles({ ...this.options, allureVersion: context.allureVersion, reportFiles: context.reportFiles, reportDataFiles, reportUuid: context.reportUuid, reportName: context.reportName, }); }); this.start = async (context) => { const { singleFile } = this.options; if (singleFile) { __classPrivateFieldSet(this, _ClassicPlugin_writer, new InMemoryReportDataWriter(), "f"); return; } __classPrivateFieldSet(this, _ClassicPlugin_writer, new ReportFileDataWriter(context.reportFiles), "f"); await Promise.resolve(); }; this.update = async (context, store) => { if (!__classPrivateFieldGet(this, _ClassicPlugin_writer, "f")) { throw new Error("call start first"); } await __classPrivateFieldGet(this, _ClassicPlugin_generate, "f").call(this, context, store); }; this.done = async (context, store) => { if (!__classPrivateFieldGet(this, _ClassicPlugin_writer, "f")) { throw new Error("call start first"); } await __classPrivateFieldGet(this, _ClassicPlugin_generate, "f").call(this, context, store); }; } async info(context, store) { return createPluginSummary({ name: this.options.reportName || context.reportName, plugin: "Classic", meta: { reportId: context.reportUuid, singleFile: this.options.singleFile ?? false, withTestResultsLinks: true, }, filter: this.options.filter, history: context.history, ci: context.ci, store, }); } } _ClassicPlugin_writer = new WeakMap(), _ClassicPlugin_generate = new WeakMap();