Beispiel #1
0
class TestCFGOVPageBreadcrumbs(TestCase):
    def setUp(self):
        self.factory = RequestFactory()

        self.site = Site.objects.first()
        self.root_page = self.site.root_page

        self.top_level_page = CFGOVPage(title='top', slug='top', live=True)
        save_new_page(self.top_level_page, root=self.root_page)

        self.second_level_page = CFGOVPage(title='second',
                                           slug='second',
                                           live=True)
        save_new_page(self.second_level_page, root=self.top_level_page)

        self.third_level_page = CFGOVPage(title='third',
                                          slug='third',
                                          live=True)
        save_new_page(self.third_level_page, root=self.second_level_page)

    def test_get_breadcrumbs_forced_homepage_descendant(self):
        request = self.factory.get('/top/second')
        request.site = self.site
        self.top_level_page.force_breadcrumbs = True
        self.top_level_page.save()
        self.assertIn(
            'top',
            [p.slug for p in self.second_level_page.get_breadcrumbs(request)])

    def test_get_breadcrumbs_no_homepage_descendant(self):
        request = self.factory.get('/top/second')
        request.site = self.site
        self.assertNotIn(
            'top',
            [p.slug for p in self.second_level_page.get_breadcrumbs(request)])

    def test_get_breadcrumbs_two_levels_deep(self):
        request = self.factory.get('/top/second/third')
        request.site = self.site

        self.assertNotIn(
            'top',
            [p.slug for p in self.third_level_page.get_breadcrumbs(request)])
        self.assertIn(
            'second',
            [p.slug for p in self.third_level_page.get_breadcrumbs(request)])
Beispiel #2
0
class TestCFGOVPageCopy(TestCase):
    def setUp(self):
        self.site = Site.objects.first()
        self.root_page = self.site.root_page
        self.page_with_tags = CFGOVPage(title='Tagged',
                                        slug='tagged',
                                        live=True)
        save_new_page(self.page_with_tags, root=self.root_page)
        self.page_with_tags.tags.add('tag1')
        self.page_with_tags.authors.add('author1')
        self.page_with_tags.save()

    def check_tagged_page_copies_without_error(self):
        test_page = self.page_with_tags
        new_page = test_page.copy(update_attrs={
            "slug": f"{test_page.slug}-copy",
            "title": f"{test_page.title} COPY"
        })
        self.assertEqual(new_page.title, "Tagged COPY")