testeranto
Version:
the AI powered BDD test framework for typescript projects
25 lines (24 loc) • 956 B
JavaScript
export const buildTree = (features) => {
const tree = {};
features.forEach(({ name, status }) => {
const parts = name.split(" - ");
const projectAndTest = parts.slice(0, 2).join(" - ");
const givenAndThen = parts.slice(2).join(" - ");
const pathParts = projectAndTest.split("/");
let current = tree;
pathParts.forEach((part) => {
if (!current[part]) {
current[part] = {};
}
current = current[part];
});
current[givenAndThen] = status;
});
return tree;
};
export const renderTree = (nodes) => (React.createElement("ul", null, Object.entries(nodes).map(([key, value]) => (React.createElement("li", { key: key }, typeof value === "string" ? (React.createElement("span", null,
key,
" - ",
value)) : (React.createElement(React.Fragment, null,
React.createElement("span", null, key),
renderTree(value))))))));