UNPKG

soda-test

Version:

Package for Unit and API tests

112 lines 3.12 kB
"use strict"; 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