def test_circular_dependency(self): a = TextLabelFactory() b = TextLabelFactory(parent=a) c = TextLabelFactory(parent=b) b.parent = c with self.assertRaises(ValueError): return b.save()
def test_change_parent_go_up_one_level(self): a = TextLabelFactory() b = TextLabelFactory(parent=a) c = TextLabelFactory(parent=b) c.parent = a c.save() self.assertEqual(c.parent, a) self.assertEqual(c.order, 1) b.refresh_from_db() self.assertEqual(b.order, 2)
def test_change_parent_go_root_recompute_child(self): root = TextLabelFactory() child_1 = TextLabelFactory(parent=root) child_2 = TextLabelFactory(parent=root) child_1.parent = None child_1.save() root.refresh_from_db() child_2.refresh_from_db() self.assertEqual(root.parent, None) self.assertEqual(root.order, 2) self.assertEqual(child_1.parent, None) self.assertEqual(child_1.order, 1) self.assertEqual(child_2.parent, root) self.assertEqual(child_2.order, 1)