scripts/analyse-visual-results.js (24 lines of code) (raw):
import { readFileSync, writeFileSync } from 'fs';
import path, { resolve } from 'path';
import { fileURLToPath } from 'url';
// replicate __dirname functionality as this is an es module
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const filePath = resolve(
__dirname,
`../test-results/visual-regression-results.json`,
);
const fileContent = JSON.parse(readFileSync(filePath, 'utf-8'));
const tests = fileContent.suites;
let resultsTable = `| Template | Visual test status |
| ------------- | ------------- |`;
for (const test of tests) {
if (test.suites) {
const testStatus = Boolean(test.suites[0].specs[1].ok);
const testTitle = test.suites[0].title;
resultsTable += `\n| ${testTitle} | ${testStatus ? '✅' : '❌'} |`;
}
}
writeFileSync(
resolve(__dirname, `../test-results/visual-regression-results-table.txt`),
resultsTable,
);