示例#1
0
    def create_fixtures(self):
        """
        Tree from fixture:

            page1
                page2
                    page3
            page4
                page5
        """
        defaults = {
            'template': 'nav_playground.html',
            'language': 'en',
        }
        with self.settings(CMS_PERMISSION=False):
            p1 = create_page('page1',
                             published=True,
                             in_navigation=True,
                             **defaults)
            Page.set_homepage(p1)
            p4 = create_page('page4',
                             published=True,
                             in_navigation=True,
                             **defaults)
            p1 = Page.objects.get(pk=p1.pk)
            p2 = create_page('page2',
                             published=True,
                             in_navigation=True,
                             parent=p1,
                             **defaults)
            create_page('page3',
                        published=True,
                        in_navigation=True,
                        parent=p2,
                        **defaults)
            p4 = Page.objects.get(pk=p4.pk)
            create_page('page5',
                        published=True,
                        in_navigation=True,
                        parent=p4,
                        **defaults)
示例#2
0
    def test_republish_multiple_root(self):
        # TODO: The paths do not match expected behaviour
        home = self.create_homepage("Page",
                                    "nav_playground.html",
                                    "en",
                                    published=True)
        other = self.create_page("Another Page", published=True)
        child = self.create_page("Child", published=True, parent=home)
        child2 = self.create_page("Child", published=True, parent=other)
        self.assertTrue(Page.objects.filter(is_home=True).count(), 2)
        self.assertTrue(home.is_home)

        home = home.reload()
        self.assertTrue(home.publisher_public.is_home)
        root = reverse('pages-root')
        self.assertEqual(home.get_absolute_url(), root)
        self.assertEqual(home.get_public_object().get_absolute_url(), root)
        self.assertEqual(child.get_absolute_url(), root + 'child/')
        self.assertEqual(child.get_public_object().get_absolute_url(),
                         root + 'child/')
        self.assertEqual(other.get_absolute_url(), root + 'another-page/')
        self.assertEqual(other.get_public_object().get_absolute_url(),
                         root + 'another-page/')
        self.assertEqual(child2.get_absolute_url(),
                         root + 'another-page/child/')
        self.assertEqual(child2.get_public_object().get_absolute_url(),
                         root + 'another-page/child/')
        home = self.reload(home)
        home.unpublish('en')
        Page.set_homepage(other.reload())

        home = self.reload(home)
        other = self.reload(other)
        child = self.reload(child)
        child2 = self.reload(child2)
        self.assertFalse(home.is_home)
        self.assertFalse(home.publisher_public.is_home)
        self.assertTrue(other.is_home)
        self.assertTrue(other.publisher_public.is_home)

        self.assertEqual(other.get_absolute_url(), root)
        self.assertEqual(other.get_public_object().get_absolute_url(), root)
        self.assertEqual(child2.get_absolute_url(), root + 'child/')
        self.assertEqual(child2.get_public_object().get_absolute_url(),
                         root + 'child/')

        self.assertEqual(home.get_absolute_url(), root + 'page/')
        self.assertEqual(home.get_public_object().get_absolute_url(),
                         root + 'page/')
        self.assertEqual(child.get_absolute_url(), root + 'page/child/')
        self.assertEqual(child.get_public_object().get_absolute_url(),
                         root + 'page/child/')

        home.publish('en')
        Page.set_homepage(home)
        home = self.reload(home)
        other = self.reload(other)
        child = self.reload(child)
        child2 = self.reload(child2)
        self.assertTrue(home.is_home)
        self.assertTrue(home.publisher_public.is_home)
        self.assertEqual(home.get_absolute_url(), root)
        self.assertEqual(home.get_public_object().get_absolute_url(), root)
        self.assertEqual(child.get_absolute_url(), root + 'child/')
        self.assertEqual(child.get_public_object().get_absolute_url(),
                         root + 'child/')
        self.assertEqual(other.get_absolute_url(), root + 'another-page/')
        self.assertEqual(other.get_public_object().get_absolute_url(),
                         root + 'another-page/')
        self.assertEqual(child2.get_absolute_url(),
                         root + 'another-page/child/')
        self.assertEqual(child2.get_public_object().get_absolute_url(),
                         root + 'another-page/child/')