Ejemplo n.º 1
0
 def test_content_node_is_set(self):
     # access .content
     self.root_node.content
     Node.attach_content_instances([self.root_node])
     with self.assertNumQueries(0):
         # node.content.node must get set even if node.content has already been accessed
         self.assertEqual(self.root_node.content.node, self.root_node)
Ejemplo n.º 2
0
 def test_content_node_is_set(self):
     # access .content
     self.root_node.content
     Node.attach_content_instances([self.root_node])
     with self.assertNumQueries(0):
         # node.content.node must get set even if node.content has already been accessed
         self.assertEqual(self.root_node.content.node, self.root_node)
Ejemplo n.º 3
0
    def test_prefetch_trees(self):
        a = Node.objects.get(pk=self.root_node.pk)
        b = Node.objects.get(pk=self.root_node.pk)

        # a.get_descendants, b.get_descendants
        # 3 contents
        with self.assertNumQueries(5):
            Node.prefetch_trees(a, b)

        root_node_dfo = self.root_node.depth_first_order()
        with self.assertNumQueries(0):
            a.content
            b.content
            self.assertEqual(root_node_dfo, a.depth_first_order())
            self.assertEqual(a.depth_first_order(), b.depth_first_order())
Ejemplo n.º 4
0
    def test_attach_content_instances(self):
        nodes = self.root_node.depth_first_order()
        nodes = Node.attach_content_instances(nodes)

        with self.assertNumQueries(0):
            for node in nodes:
                self.assertEqual(node.content.node, node)
Ejemplo n.º 5
0
 def test_dangling_content(self):
     left_bucket = self.root_node.content.get_children()[0]
     left_node = left_bucket.node
     self.cursor.execute('DELETE FROM core_tests_bucket WHERE id = %s',
                         [str(left_bucket.id)])
     ids, _ = Node.find_widgy_problems()
     self.assertEqual(ids, [left_node.id])
Ejemplo n.º 6
0
    def test_attach_content_instances(self):
        nodes = self.root_node.depth_first_order()
        nodes = Node.attach_content_instances(nodes)

        with self.assertNumQueries(0):
            for node in nodes:
                self.assertEqual(node.content.node, node)
Ejemplo n.º 7
0
    def test_prefetch_trees(self):
        a = Node.objects.get(pk=self.root_node.pk)
        b = Node.objects.get(pk=self.root_node.pk)

        # a.get_descendants, b.get_descendants
        # 3 contents
        with self.assertNumQueries(5):
            Node.prefetch_trees(a, b)

        root_node_dfo = self.root_node.depth_first_order()
        with self.assertNumQueries(0):
            a.content
            b.content
            self.assertEqual(root_node_dfo,
                             a.depth_first_order())
            self.assertEqual(a.depth_first_order(),
                             b.depth_first_order())
Ejemplo n.º 8
0
    def test_unknown_widget(self):
        left_bucket = self.root_node.content.get_children()[0]
        fake_ct = ContentType.objects.create(
            name='fake',
            app_label='faaaaake',
        )
        left_node = left_bucket.node
        left_node.content_type_id = fake_ct.id
        left_node.save()

        _, ids = Node.find_widgy_problems()
        self.assertEqual(ids, [left_node.id])
Ejemplo n.º 9
0
    def test_unknown_widget(self):
        left_bucket = self.root_node.content.get_children()[0]
        fake_ct = ContentType.objects.create(
            model='fake',
            app_label='faaaaake',
        )
        left_node = left_bucket.node
        left_node.content_type_id = fake_ct.id
        left_node.save()

        _, ids = Node.find_widgy_problems()
        self.assertEqual(ids, [left_node.id])
Ejemplo n.º 10
0
 def test_dangling_content(self):
     left_bucket = self.root_node.content.get_children()[0]
     left_node = left_bucket.node
     self.cursor.execute('DELETE FROM core_tests_bucket WHERE id = %s', [str(left_bucket.id)])
     ids, _ = Node.find_widgy_problems()
     self.assertEqual(ids, [left_node.id])
Ejemplo n.º 11
0
 def get_results(self, request):
     super(BlogChangeList, self).get_results(request)
     # This is like prefetch_related, but works with our GenericForeignKey
     Node.attach_content_instances(i.content.working_copy for i in self.result_list)
Ejemplo n.º 12
0
 def make_root(self):
     """
     Turns us into a root node by taking us out of the tree we're in.
     """
     self.node.move(Node.get_last_root_node(), 'last-sibling')
Ejemplo n.º 13
0
 def get_results(self, request):
     super(BlogChangeList, self).get_results(request)
     # This is like prefetch_related, but works with our GenericForeignKey
     Node.attach_content_instances(i.content.working_copy for i in self.result_list)
Ejemplo n.º 14
0
 def make_root(self):
     """
     Turns us into a root node by taking us out of the tree we're in.
     """
     self.node.move(Node.get_last_root_node(),
                    'last-sibling')
Ejemplo n.º 15
0
 def get_problems(self):
     return Node.find_problems() + Node.find_widgy_problems()
Ejemplo n.º 16
0
 def get_problems(self):
     return Node.find_problems() + Node.find_widgy_problems()