from django.test import TestCase from misago.admin.hierarchy import Node class NodeTests(TestCase): def test_add_node(self): """add_node added node""" master = Node('misago:index', 'Apples') child = Node('misago:index', 'Oranges') master.add_node(child) self.assertTrue(child in master.children()) def test_add_node_after(self): """add_node added node after specific node""" master = Node('misago:index', 'Apples') child = Node('misago:index', 'Oranges') master.add_node(child) test = Node('misago:index', 'Potatoes') master.add_node(test, after='misago:index') all_nodes = master.children() for i, node in enumerate(all_nodes): if node.name == test.name: self.assertEqual(all_nodes[i - 1].name, child.name) def test_add_node_before(self): """add_node added node before specific node""" master = Node('misago:index', 'Apples') child = Node('misago:index', 'Oranges') master.add_node(child) test = Node('misago:index', 'Potatoes') master.add_node(test, before='misago:index') all_nodes = master.children() for i, node in enumerate(all_nodes): if node.name == test.name: self.assertEqual(all_nodes[i + 1].name, child.name)