soda-test
Version:
Package for Unit and API tests
112 lines • 3.12 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetPlan = exports.PlanDescribe = exports.PlanReset = void 0;
let plan = [];
function PlanReset() {
plan = [];
}
exports.PlanReset = PlanReset;
function addExtraData(node, extraData) {
if (!extraData)
return;
for (const key in extraData) {
if (key === 'text')
continue;
if (key === 'type')
continue;
if (key === 'children')
continue;
node[key] = extraData[key];
}
}
function addIt(childs, it) {
if (it.comments) {
for (const comment of it.comments) {
const commentNode = {
text: comment.commentText,
type: "COMMENT"
};
addExtraData(commentNode, comment.extraData);
childs.push(commentNode);
}
}
const itNode = {
text: it.itText,
type: "IT"
};
addExtraData(itNode, it.extraData);
if (it.pending) {
itNode.pending = true;
}
childs.push(itNode);
}
function addCase(childs, _case) {
const caseNode = {
text: _case.caseText,
type: "CASE"
};
caseNode.children = [];
if (_case.its) {
for (const it of _case.its) {
addIt(caseNode.children, it);
}
}
if (caseNode.children.length === 0) {
delete caseNode.children;
}
addExtraData(caseNode, _case.extraData);
childs.push(caseNode);
}
function addContextChilds(childs, context) {
if (!context)
return;
for (const key in context.itsAndCases) {
const it = context.itsAndCases[key];
if (it && it.itText) {
addIt(childs, it);
continue;
}
const _case = context.itsAndCases[key];
if (_case && _case.caseText) {
addCase(childs, _case);
continue;
}
}
}
function addContext(childs, context) {
if (!context)
return;
const contextNode = {
text: context.contextText,
type: 'CONTEXT'
};
contextNode.children = [];
addContextChilds(contextNode.children, context);
if (contextNode.children.length === 0) {
delete contextNode.children;
}
addExtraData(contextNode, context.extraData);
childs.push(contextNode);
}
function PlanDescribe(describe) {
const describePlan = {
text: describe.describeText,
type: 'DESCRIBE'
};
describePlan.children = [];
addContextChilds(describePlan.children, describe.uncontext);
for (const contextName in describe.contexts) {
addContext(describePlan.children, describe.contexts[contextName]);
}
if (describePlan.children.length === 0) {
delete describePlan.children;
}
addExtraData(describePlan, describe.extraData);
plan.push(describePlan);
}
exports.PlanDescribe = PlanDescribe;
function GetPlan() {
return plan;
}
exports.GetPlan = GetPlan;
//# sourceMappingURL=testplan.js.map
;