kizu
Version:
An easy-to-use, fast, and defensive Typescript/Javascript test runner designed to help you to write simple, readable, and maintainable tests.
21 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateFinalResults = calculateFinalResults;
const isTestPassing_1 = require("./isTestPassing");
function calculateFinalResults(specFiles, testResults) {
const numFiles = Object.keys(testResults).length;
const filesWithNoTests = specFiles.reduce((files, filename) => (testResults[filename] ? files : files.concat([filename])), []);
const numTests = Object.values(testResults).reduce((acc, results) => acc + results.length, 0);
const numSuccessfulTests = Object.values(testResults).reduce((acc, results) => (acc + results.reduce((acc, test) => (acc + ((0, isTestPassing_1.isTestPassing)(test) ? 1 : 0)), 0)), 0);
const numAssertions = Object.values(testResults).reduce((acc, results) => (acc + results.reduce((acc, test) => acc + test.assertions.length, 0)), 0);
const numSuccessfulAssertions = Object.values(testResults).reduce((acc, results) => (acc + results.reduce((acc, test) => (acc + test.assertions.reduce((acc, assertion) => acc + (assertion.pass ? 1 : 0), 0)), 0)), 0);
return {
numFiles,
numTests,
numSuccessfulTests,
filesWithNoTests,
numAssertions,
numSuccessfulAssertions,
};
}
//# sourceMappingURL=calculateFinalResults.js.map