@featurevisor/core
Version:
Core package of Featurevisor for Node.js usage
60 lines • 3.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.printTestResult = printTestResult;
const cliFormat_1 = require("./cliFormat");
const prettyDuration_1 = require("./prettyDuration");
function printTestResult(testResult, relativeTestFilePath, rootDirectoryPath) {
console.log("");
const title = `Testing: ${relativeTestFilePath.replace(rootDirectoryPath, "")} (${(0, prettyDuration_1.prettyDuration)(testResult.duration)})`;
console.log(title);
if (testResult.notFound) {
console.log(cliFormat_1.CLI_FORMAT_RED, ` => ${testResult.type} ${testResult.key} not found`);
return;
}
console.log(cliFormat_1.CLI_FORMAT_BOLD, ` ${testResult.type} "${testResult.key}":`);
testResult.assertions.forEach(function (assertion) {
if (assertion.passed) {
console.log(` ✔ ${assertion.description} (${(0, prettyDuration_1.prettyDuration)(assertion.duration)})`);
}
else {
console.log(cliFormat_1.CLI_FORMAT_RED, ` ✘ ${assertion.description} (${(0, prettyDuration_1.prettyDuration)(assertion.duration)})`);
assertion.errors?.forEach(function (error) {
if (error.message) {
console.log(cliFormat_1.CLI_FORMAT_RED, ` => ${error.message}`);
return;
}
let section = error.type;
if (error.type === "flag") {
section = "expectedToBeEnabled";
}
else if (error.type === "variation") {
section = "expectedVariation";
}
else if (error.type === "variable") {
section = "expectedVariables";
}
if (error.details && error.details.childIndex !== undefined) {
section = `children[${error.details.childIndex}].${section}`;
}
if (error.type === "variable") {
const variableKey = error.details.variableKey;
console.log(cliFormat_1.CLI_FORMAT_RED, ` => ${section}.${variableKey}:`);
console.log(cliFormat_1.CLI_FORMAT_RED, ` => expected: ${error.expected}`);
console.log(cliFormat_1.CLI_FORMAT_RED, ` => received: ${error.actual}`);
}
else {
if (error.type === "evaluation") {
if (error.details && error.details.variableKey) {
section = `${section}.variables.${error.details.variableKey}.${error.details.evaluationKey}`;
}
else if (error.details && error.details.evaluationType) {
section = `${section}.${error.details.evaluationType}.${error.details.evaluationKey}`;
}
}
console.log(cliFormat_1.CLI_FORMAT_RED, ` => ${section}: expected "${error.expected}", received "${error.actual}"`);
}
});
}
});
}
//# sourceMappingURL=printTestResult.js.map