def test_get_node_attribs(self): # Get a valid node nid = 1072 node = ds.get_node_attribs(nid) self.assertTrue(isinstance(node, ds.Node)) self.assertTrue('accomplish' in node.body) # Find 2 children self.assertEqual(len(node.children), 2) # Second child is about 'timeline context' self.assertTrue('timeline context' in node.children[1].title) # Parent node is about 'Website: tuin' parent_node = ds.get_node_attribs(nid=node.parent_id) self.assertTrue('Website: tuin' in parent_node.title) self.assertTrue(isinstance(node.parent.title, str)) self.assertEqual(node.parent.title, 'Website: tuin')
def node_add(pid, nid=None): form = NodeAdd() title = "" breadcrumb = ds.get_breadcrumb(pid, [ds.get_node_attribs(pid)]) if request.method == 'POST': if form.validate_on_submit(): node_vals = dict( title=form.title.data, body=form.body.data, parent_id=form.parent_id.data ) if nid: node_vals['nid'] = nid ds.Node.edit(**node_vals) flash('Node modified', 'info') else: nid = ds.Node.add(**node_vals) flash('Node added', 'info') return redirect(url_for('main.node', nid=nid)) else: if nid: title = "Edit Node" node_vals = ds.Node.query.filter_by(nid=nid).first() form.title.data = node_vals.title form.body.data = node_vals.body form.parent_id.data = node_vals.parent_id else: title = "Create Node" form.parent_id.data = pid return render_template('node_add.html', form=form, title=title, breadcrumb=breadcrumb)
def node_outline(nid): form = NodeOutline() if request.method == "GET": # Get node information node_obj = ds.get_node_attribs(nid=nid) bc = ds.get_breadcrumb(nid=nid) params = dict( node=node_obj, breadcrumb=bc ) # Initialize the form # form = NodeOutline(parent=node_obj.parent_id) # form.parent.choices = ds.get_tree(exclnid=nid) params['form'] = form # Add node_outline information return render_template('node_outline.html', **params) elif request.method == "POST": if isinstance(form.parent.data, int): params = dict( nid=nid, parent_id=form.parent.data ) ds.Node.outline(**params) return redirect(url_for('main.node', nid=nid)) else: flash("Parent ID must be Integer!", 'error') return redirect(url_for('main.node_outline', nid=nid))
def node(nid): node_obj = ds.get_node_attribs(nid=nid) bc = ds.get_breadcrumb(nid=nid) params = dict( node=node_obj, breadcrumb=bc, searchForm=Search() ) ds.History.add(nid) return render_template('node.html', **params)
def test_node_modify(self): # Test Node Add to parent 854 (CA Unicenter) params = dict( title="Test Node", body="Text with test Node. Abracadabra for search purpuse.", parent_id=854) nid = ds.Node.add(**params) # print("Node: {nid}".format(nid=nid)) node = ds.get_node_attribs(nid) self.assertTrue(isinstance(node, ds.Node)) self.assertTrue('Abracadabra' in node.body) # Now try to modify the node params["body"] = "Now remove special string and add kweepeer instead." params["nid"] = nid ds.Node.edit(**params) ds.Node.delete(nid)