Skip to content

Instantly share code, notes, and snippets.

@Jonne
Created December 24, 2020 10:24
Show Gist options
  • Select an option

  • Save Jonne/837caa9206a08b63cb35c21c542c1182 to your computer and use it in GitHub Desktop.

Select an option

Save Jonne/837caa9206a08b63cb35c21c542c1182 to your computer and use it in GitHub Desktop.
Node script that fixes issue with generated cypress junit reports
var glob = require('glob');
var xml2js = require('xml2js');
var fs = require('fs');
const [, , ...args] = process.argv;
const pattern = args[0];
glob(pattern, function (er, files) {
for (const file of files) {
console.info(`Fixing file: ${file}`);
fs.readFile(file, function (err, data) {
var parser = new xml2js.Parser();
parser.parseString(data, function (err, result) {
if (result.testsuites.testsuite.length == 1) {
console.info(`File: ${file} does not need fixing`);
return;
}
const srcFile = result.testsuites.testsuite[0].$.file;
result.testsuites.testsuite[1].$.file = srcFile;
result.testsuites.testsuite = [result.testsuites.testsuite[1]];
var builder = new xml2js.Builder();
var xml = builder.buildObject(result);
fs.writeFile(file, xml, function (err) {
if (err) {
return console.log(err);
}
console.info(`Successfully fixed file: ${file}`);
});
});
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment