UNPKG

corde

Version:

A simple library for Discord bot tests

88 lines (69 loc) 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true, }); exports.summary = void 0; const consts_1 = require("../consts"); class Summary { print(runnerReport) { let message = "\n"; message += this.buildTestFilesSummary(runnerReport) + "\n"; message += this.buildTestsSummary(runnerReport) + "\n"; if (runnerReport.testTimer) { message += "Time: " + runnerReport.testTimer; } console.log(message); return message; } buildTestFilesSummary(runnerReport) { return this.buildSummaryLine({ fail: runnerReport.totalTestFilesFailed, label: "Test Files: ", success: runnerReport.totalTestFilesPassed, totalEmpty: runnerReport.totalEmptyTestFiles, total: runnerReport.totalTestFiles, }); } buildTestsSummary(runnerReport) { return this.buildSummaryLine({ fail: runnerReport.totalTestsFailed, label: "Tests: ", success: runnerReport.totalTestsPassed, totalEmpty: runnerReport.totalEmptyTests, total: runnerReport.totalTests, }); } buildSummaryLine(data) { const { label, fail, success, total, totalEmpty } = data; const partialLine = []; if (success > 0) { partialLine.push((0, consts_1.TEXT_PASS)(`${success} passed`)); } if (fail > 0) { partialLine.push((0, consts_1.TEXT_FAIL)(`${fail} failed`)); } if (totalEmpty > 0) { partialLine.push((0, consts_1.TEXT_EMPTY)(`${totalEmpty} empty`)); } if (partialLine.length) { return `${label}${this.buildSummaryLinePhrase(partialLine)}. ${total} total`; } if (total === 0) { return `${label}${(0, consts_1.TEXT_EMPTY)(`${total} total`)}`; } return `${label}${total} total`; } buildSummaryLinePhrase(parts) { let builtLine = ""; for (let i = 0; i < parts.length; i++) { if (parts.length > 2 && i < 2) { builtLine += parts[i] + ", "; } else { builtLine += parts[i] + " and "; } } return builtLine.substring(0, builtLine.length - 5); } } const summary = new Summary(); exports.summary = summary;