@restqa/cucumber-export
Version:
A simple cucumber-js formatter exporting your result to different endpoints
41 lines (34 loc) • 1.11 kB
JavaScript
const fs = require("fs-extra");
const path = require("path");
const URL = require("url");
const open = require("open");
module.exports = async function (config, result) {
const HTML_TEMPLATE_FOLDER = path.resolve(
__dirname,
"..",
"..",
"html-report-template",
"dist"
);
config = config || {};
if (undefined === config.browserOpening) {
config.browserOpening = true;
}
config.folder = config.folder || path.resolve(process.cwd(), "report");
try {
fs.copySync(HTML_TEMPLATE_FOLDER, config.folder, {overwrite: true});
const output = `window.RESTQA_RESULT = ${JSON.stringify(result, null, 2)}`;
fs.writeFileSync(path.resolve(config.folder, "restqa-result.js"), output);
const url = URL.pathToFileURL(
path.resolve(config.folder, "index.html")
).href;
config.browserOpening && (await open(url));
return Promise.resolve(
`[HTML REPORT][SUCCESS] - Your report has been generated at ${url}`
);
} catch (e) {
return Promise.reject(
new Error(`[HTML REPORT][ERROR] - ${config.folder} : ${e.message}`)
);
}
};