@restqa/cucumber-export
Version:
A simple cucumber-js formatter exporting your result to different endpoints
35 lines (28 loc) • 950 B
JavaScript
const stream = require("stream");
function createStreamErr(err) {
return new Error(`[STREAM REPORT][ERROR] - ${err.message}`);
}
module.exports = function (config, result) {
return new Promise((resolve, reject) => {
if (!config.instance)
return reject(
new Error('config.instance is required for the "stream" report')
);
if (!(config.instance instanceof stream.Writable)) {
return reject(new Error("config.instance should be a writable stream"));
}
config.instance.on("error", (err) => {
return reject(createStreamErr(err));
});
try {
const buffer = Buffer.from(JSON.stringify(result));
config.instance.write(buffer);
} catch (err) {
return reject(createStreamErr(err));
}
config.instance.end((err) => {
if (err) return reject(createStreamErr(err));
resolve("[STREAM REPORT] - Content successfully written into the stream");
});
});
};