UNPKG

@allurereport/plugin-classic

Version:

The classic version of Allure HTML report

86 lines (85 loc) 4.01 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 _InMemoryReportDataWriter_data; import { mkdir, writeFile } from "node:fs/promises"; import { join, resolve } from "node:path"; export class FileSystemReportDataWriter { constructor(output) { this.output = output; } async writeData(fileName, data) { const distFolder = resolve(this.output, "data"); await mkdir(distFolder, { recursive: true }); await writeFile(resolve(distFolder, fileName), JSON.stringify(data), { encoding: "utf-8" }); } async writeWidget(fileName, data) { const distFolder = resolve(this.output, "widgets"); await mkdir(distFolder, { recursive: true }); await writeFile(resolve(distFolder, fileName), JSON.stringify(data), { encoding: "utf-8" }); } async writeTestCase(test) { const distFolder = resolve(this.output, "data", "test-results"); await mkdir(distFolder, { recursive: true }); await writeFile(resolve(distFolder, `${test.id}.json`), JSON.stringify(test), { encoding: "utf-8" }); } async writeAttachment(source, file) { const distFolder = resolve(this.output, "data", "attachments"); await mkdir(distFolder, { recursive: true }); await file.writeTo(resolve(distFolder, source)); } } export class InMemoryReportDataWriter { constructor() { _InMemoryReportDataWriter_data.set(this, {}); } async writeData(fileName, data) { const dist = join("data", fileName); __classPrivateFieldGet(this, _InMemoryReportDataWriter_data, "f")[dist] = Buffer.from(JSON.stringify(data), "utf-8"); } async writeWidget(fileName, data) { const dist = join("widgets", fileName); __classPrivateFieldGet(this, _InMemoryReportDataWriter_data, "f")[dist] = Buffer.from(JSON.stringify(data), "utf-8"); } async writeTestCase(test) { const dist = join("data", "test-results", `${test.id}.json`); __classPrivateFieldGet(this, _InMemoryReportDataWriter_data, "f")[dist] = Buffer.from(JSON.stringify(test), "utf-8"); } async writeAttachment(fileName, file) { const dist = join("data", "attachments", fileName); const content = await file.asBuffer(); if (content) { __classPrivateFieldGet(this, _InMemoryReportDataWriter_data, "f")[dist] = content; } } reportFiles() { return Object.keys(__classPrivateFieldGet(this, _InMemoryReportDataWriter_data, "f")).map((key) => ({ name: key, value: __classPrivateFieldGet(this, _InMemoryReportDataWriter_data, "f")[key].toString("base64"), })); } } _InMemoryReportDataWriter_data = new WeakMap(); export class ReportFileDataWriter { constructor(reportFiles) { this.reportFiles = reportFiles; } async writeData(fileName, data) { await this.reportFiles.addFile(join("data", fileName), Buffer.from(JSON.stringify(data), "utf-8")); } async writeWidget(fileName, data) { await this.reportFiles.addFile(join("widgets", fileName), Buffer.from(JSON.stringify(data), "utf-8")); } async writeAttachment(source, file) { const contentBuffer = await file.asBuffer(); if (!contentBuffer) { return; } await this.reportFiles.addFile(join("data", "attachments", source), contentBuffer); } async writeTestCase(test) { await this.reportFiles.addFile(join("data", "test-results", `${test.id}.json`), Buffer.from(JSON.stringify(test), "utf8")); } }