Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)