X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f26a160eb9a476f1d5037d899e0636cf150fb573..f17af4bfbdd3b0054d3494cdc6c5f75c2e872d9f:/src/models/tree.test.ts diff --git a/src/models/tree.test.ts b/src/models/tree.test.ts index 54b11d47..3c7fdca9 100644 --- a/src/models/tree.test.ts +++ b/src/models/tree.test.ts @@ -18,6 +18,14 @@ describe('Tree', () => { expect(Tree.getNode('Node 1')(newTree)).toEqual(initTreeNode({ id: 'Node 1', value: 'Value 1' })); }); + it('appends a subtree', () => { + const newTree = Tree.setNode(initTreeNode({ id: 'Node 1', value: 'Value 1' }))(tree); + const subtree = Tree.setNode(initTreeNode({ id: 'Node 2', value: 'Value 2' }))(Tree.createTree()); + const mergedTree = Tree.appendSubtree('Node 1', subtree)(newTree); + expect(Tree.getNode('Node 1')(mergedTree)).toBeDefined(); + expect(Tree.getNode('Node 2')(mergedTree)).toBeDefined(); + }); + it('adds new node reference to parent children', () => { const newTree = pipe( Tree.setNode(initTreeNode({ id: 'Node 1', parent: '', value: 'Value 1' })), @@ -89,6 +97,6 @@ describe('Tree', () => { initTreeNode({ id: 'Node 2', parent: 'Node 1', value: 'Value 2' }), ].reduce((tree, node) => Tree.setNode(node)(tree), tree); const mappedTree = Tree.mapTreeValues(value => parseInt(value.split(' ')[1], 10))(newTree); - expect(Tree.getNode('Node 2')(mappedTree)).toEqual(initTreeNode({id: 'Node 2', parent: 'Node 1', value: 2 })); + expect(Tree.getNode('Node 2')(mappedTree)).toEqual(initTreeNode({ id: 'Node 2', parent: 'Node 1', value: 2 })); }); });