コード例 #1
0
    def test_get_latest_activities_returns_activities_sorted(self):
        hostname = Site.objects.get(is_default_site=True).hostname
        page1 = BlogPage(title='oldest page',
                         date_published=datetime.date(2015, 9, 3))
        # Give it a newsroom subcategory
        page1.categories.add(CFGOVPageCategory(name='press-release'))
        publish_page(page1)

        page2 = BlogPage(title='second page',
                         date_published=datetime.date(2016, 5, 3))
        # Give it a newsroom subcategory
        page2.categories.add(CFGOVPageCategory(name='speech'))
        publish_page(page2)

        page3 = BlogPage(title='most recent page')
        # Give it a newsroom subcategory
        page3.categories.add(CFGOVPageCategory(name='testimony'))
        publish_page(page3)

        activities = activity_feed.get_latest_activities(
            activity_type='newsroom', hostname=hostname)
        self.assertEquals(len(activities), 3)
        self.assertEquals(activities[0].specific, page3)
        self.assertEquals(activities[1].specific, page2)
        self.assertEquals(activities[2].specific, page1)
コード例 #2
0
    def test_filter_by_archived(self):
        page1 = BlogPage(title='test page', is_archived='yes')
        page2 = BlogPage(title='another test page')
        page3 = BlogPage(title='never-archived page', is_archived='never')
        publish_page(page1)
        publish_page(page2)
        publish_page(page3)
        form = self.setUpFilterableForm()

        form.data = {}
        form.full_clean()
        page_set = form.get_page_set()
        self.assertEqual(len(page_set), 3)

        form.data = {'archived': 'include'}
        form.full_clean()
        page_set = form.get_page_set()
        self.assertEqual(len(page_set), 3)

        form.data = {'archived': 'exclude'}
        form.full_clean()
        page_set = form.get_page_set()
        self.assertEqual(len(page_set), 2)
        self.assertEqual(page_set[0].specific, page2)

        form.data = {'archived': 'only'}
        form.full_clean()
        page_set = form.get_page_set()
        self.assertEqual(len(page_set), 1)
        self.assertEqual(page_set[0].specific, page1)
コード例 #3
0
    def test_unpublished_page_doesnt_include_rss_feed(self):
        page = BlogPage(title='test', slug='test')

        request = RequestFactory().get('/')
        response = page.serve(request)

        self.assertNotContains(response, 'RSS feed')
コード例 #4
0
 def setUpTestData(cls):
     blog1 = BlogPage(title='test page')
     blog1.categories.add(CFGOVPageCategory(name='foo'))
     blog1.categories.add(CFGOVPageCategory(name='bar'))
     blog1.tags.add('foo')
     blog1.authors.add('richa-agarwal')
     blog1.authors.add('sarah-simpson')
     blog2 = BlogPage(title='another test page')
     blog2.categories.add(CFGOVPageCategory(name='bar'))
     blog2.tags.add('blah')
     blog2.authors.add('richard-cordray')
     event1 = EventPage(title='test page 2',
                        start_dt=datetime.now(timezone('UTC')))
     event1.tags.add('bar')
     cool_event = EventPage(title='Cool Event',
                            start_dt=datetime.now(timezone('UTC')))
     awesome_event = EventPage(title='Awesome Event',
                               start_dt=datetime.now(timezone('UTC')))
     publish_page(blog1)
     publish_page(blog2)
     publish_page(event1)
     publish_page(cool_event)
     publish_page(awesome_event)
     cls.blog1 = blog1
     cls.blog2 = blog2
     cls.event1 = event1
     cls.cool_event = cool_event
     cls.awesome_event = awesome_event
コード例 #5
0
    def setUpTestData(cls):
        blog1 = BlogPage(title='test page')
        blog1.categories.add(CFGOVPageCategory(name='foo'))
        blog1.categories.add(CFGOVPageCategory(name='bar'))
        blog1.tags.add('foo')
        blog1.authors.add('richa-agarwal')
        blog1.authors.add('sarah-simpson')
        blog2 = BlogPage(title='another test page')
        blog2.categories.add(CFGOVPageCategory(name='bar'))
        blog2.tags.add('blah')
        blog2.authors.add('richard-cordray')
        category_blog = BlogPage(title='Category Test')
        category_blog.categories.add(
            CFGOVPageCategory(name='info-for-consumers'))
        event1 = EventPage(title='test page 2',
                           start_dt=datetime.now(timezone('UTC')))
        event1.tags.add('bar')
        cool_event = EventPage(title='Cool Event',
                               start_dt=datetime.now(timezone('UTC')))
        awesome_event = EventPage(title='Awesome Event',
                                  start_dt=datetime.now(timezone('UTC')))
        publish_page(blog1)
        publish_page(blog2)
        publish_page(event1)
        publish_page(cool_event)
        publish_page(awesome_event)
        publish_page(category_blog)
        cls.blog1 = blog1
        cls.blog2 = blog2
        cls.event1 = event1
        cls.cool_event = cool_event
        cls.awesome_event = awesome_event
        cls.category_blog = category_blog

        cls.rebuild_elasticsearch_index('v1', stdout=StringIO())
コード例 #6
0
ファイル: test_blog_page.py プロジェクト: cfpb/cfgov-refresh
    def test_unpublished_page_doesnt_include_rss_feed(self):
        page = BlogPage(title='test', slug='test')

        request = RequestFactory().get('/')
        request.site = Site.objects.first()
        response = page.serve(request)

        self.assertNotContains(response, 'RSS feed')
コード例 #7
0
    def setUpTestData(cls):
        cls.page1 = BlogPage(title='test page', is_archived='yes')
        cls.page2 = BlogPage(title='another test page')
        cls.page3 = BlogPage(title='never-archived page', is_archived='never')
        publish_page(cls.page1)
        publish_page(cls.page2)
        publish_page(cls.page3)

        cls.rebuild_elasticsearch_index('v1', stdout=StringIO())
コード例 #8
0
 def test_filter_doesnt_return_drafts(self):
     page1 = BlogPage(title='test page 1')
     page1.tags.add('foo')
     page2 = BlogPage(title='test page 2')
     page2.tags.add('foo')
     publish_page(page1)  # Only publish one of the pages
     form = self.setUpFilterableForm(data={'topics': ['foo']})
     page_set = form.get_page_set()
     self.assertEquals(len(page_set), 1)
     self.assertEquals(page_set[0].specific, page1)
コード例 #9
0
 def setUp(self):
     self.factory = RequestFactory()
     self.filterable_page = BrowseFilterablePage(title="Blog", slug="test")
     self.root = Site.objects.get(is_default_site=True).root_page
     self.root.add_child(instance=self.filterable_page)
     self.page = BlogPage(title="Child test page", live=True)
     self.archived_page = BlogPage(title="Archive test page",
                                   live=True,
                                   is_archived='yes')
     self.filterable_page.add_child(instance=self.page)
     self.filterable_page.add_child(instance=self.archived_page)
コード例 #10
0
 def test_filter_by_author_names(self):
     page1 = BlogPage(title='test page 1')
     page1.authors.add('richa-agarwal')
     page1.authors.add('sarah-simpson')
     page2 = BlogPage(title='test page 2')
     page2.authors.add('richard-cordray')
     publish_page(page1)
     publish_page(page2)
     form = self.setUpFilterableForm(data={'authors': ['sarah-simpson']})
     page_set = form.get_page_set()
     self.assertEquals(len(page_set), 1)
     self.assertEquals(page_set[0].specific, page1)
コード例 #11
0
 def test_filter_by_category(self):
     page1 = BlogPage(title='test page')
     page1.categories.add(CFGOVPageCategory(name='foo'))
     page1.categories.add(CFGOVPageCategory(name='bar'))
     page2 = BlogPage(title='another test page')
     page2.categories.add(CFGOVPageCategory(name='bar'))
     publish_page(page1)
     publish_page(page2)
     form = self.setUpFilterableForm(data={'categories': ['foo']})
     page_set = form.get_page_set()
     self.assertEquals(len(page_set), 1)
     self.assertEquals(page_set[0].specific, page1)
コード例 #12
0
    def test_get_latest_activities_returns_relevant_activities(self):
        page1 = BlogPage(title='test page')
        # Give it a blog subcategory
        page1.categories.add(CFGOVPageCategory(name='at-the-cfpb'))
        publish_page(page1)

        page2 = BlogPage(title='another test page')
        # Don't give it a blog subcategory
        publish_page(page2)

        activities = activity_feed.get_latest_activities(activity_type='blog')
        self.assertEquals(len(activities), 1)
        self.assertEquals(activities[0].specific, page1)
コード例 #13
0
 def test_filter_by_tags(self):
     page1 = BlogPage(title='test page 1')
     page1.tags.add('foo')
     page2 = EventPage(title='test page 2')
     page2.tags.add('bar')
     page3 = BlogPage(title='test page 3')
     page3.tags.add('blah')
     publish_page(page1)
     publish_page(page2)
     publish_page(page3)
     form = self.setUpFilterableForm(data={'topics': ['foo', 'bar']})
     page_set_pks = form.get_page_set().values_list('pk', flat=True)
     self.assertEquals(len(page_set_pks), 2)
     self.assertIn(page1.pk, page_set_pks)
     self.assertIn(page2.pk, page_set_pks)
コード例 #14
0
 def test_filter_by_tags(self):
     page1 = BlogPage(title='test page 1')
     page1.tags.add('foo')
     page2 = EventPage(title='test page 2')
     page2.tags.add('bar')
     page3 = BlogPage(title='test page 3')
     page3.tags.add('blah')
     publish_page(page1)
     publish_page(page2)
     publish_page(page3)
     form = self.setUpFilterableForm(data={'topics': ['foo', 'bar']})
     page_set = form.get_page_set()
     self.assertEquals(len(page_set), 2)
     self.assertEquals(page_set[1].specific, page1)
     self.assertEquals(page_set[0].specific, page2)
コード例 #15
0
 def test_filter_doesnt_return_drafts(self):
     page2 = BlogPage(title='test page 2')
     page2.tags.add('foo')
     # Don't publish new page
     form = self.setUpFilterableForm(data={'topics': ['foo']})
     page_set = form.get_page_set()
     self.assertEqual(len(page_set), 1)
     self.assertEqual(page_set[0].specific, self.blog1)
コード例 #16
0
def add_children(parent, num, slug):
    for i in range(num):
        child = parent.add_child(
            instance=BlogPage(title="{} child {}".format(slug, i),
                              slug="{}-child-{}".format(slug, i)))
        child.tags.add(u'tag{}'.format(i))
        child.tags.add(u'shared-tag')
        publish_changes(child)
コード例 #17
0
    def setUp(self):
        self.filter_controls = filter_controls

        self.filterable_page = BrowseFilterablePage(title="Blog", slug="test")
        self.root = Site.objects.get(is_default_site=True).root_page
        self.root.add_child(instance=self.filterable_page)

        self.set_filterable_controls(filter_controls)

        self.child_page = BlogPage(title="Child test page", live=True)
        self.sibling_page = BlogPage(title="Sibling test page", live=True)
        self.archived_sibling_page = BlogPage(title="Archive test page",
                                              live=True,
                                              is_archived='yes')
        self.filterable_page.add_child(instance=self.child_page)
        self.filterable_page.get_parent().add_child(instance=self.sibling_page)
        self.filterable_page.get_parent().add_child(
            instance=self.archived_sibling_page)
コード例 #18
0
    def test_page_includes_rss_feed_of_parent(self):
        parent_page = SublandingFilterablePage(title='test', slug='test')
        save_new_page(parent_page)

        child_page = BlogPage(title='test', slug='test')
        save_new_page(child_page, root=parent_page)

        response = self.client.get('/test/test/')
        self.assertContains(response, 'href="/test/feed/')
コード例 #19
0
    def set_up_published_pages(self):
        page1 = BlogPage(title='test page 1')
        page1.tags.add(u'C-tag-3-instances')

        page2 = EventPage(title='test page 2',
                          start_dt=datetime.now(timezone('UTC')))
        page2.tags.add(u'B-tag-2-instances')
        page2.tags.add(u'C-tag-3-instances')

        page3 = BlogPage(title='test page 3')
        page3.tags.add(u'A-tag-1-instance')
        page3.tags.add(u'B-tag-2-instances')
        page3.tags.add(u'C-tag-3-instances')

        helpers.publish_page(page1)
        helpers.publish_page(page2)
        helpers.publish_page(page3)

        filterable_pages = AbstractFilterPage.objects.live()
        self.page_ids = filterable_pages.values_list('id', flat=True)
コード例 #20
0
    def setUp(self):
        self.filterable_page = BrowseFilterablePage(title="Blog", slug="test")
        self.root = Site.objects.get(is_default_site=True).root_page
        self.root.add_child(instance=self.filterable_page)

        self.page = BlogPage(
            title="Test",
            slug="one",
            live=True,
        )
        self.filterable_page.add_child(instance=self.page)
コード例 #21
0
 def setUp(self):
     self.view = PageMetadataReportView()
     self.tag1 = baker.make(Tag, name="tag1")
     self.tag2 = baker.make(Tag, name="tag2")
     self.site = Site.objects.get(is_default_site=True)
     self.root_page = self.site.root_page
     self.blog_page = BlogPage(title='Blogojevich', live=True)
     self.root_page.add_child(instance=self.blog_page)
     self.category_tuple = categories[0][1][0]
     self.category = CFGOVPageCategory(name=self.category_tuple[1])
     self.blog_page.categories.add(self.category)
     self.blog_page.tags.add(self.tag1, self.tag2)
コード例 #22
0
    def setUp(self):
        self.filterable_page = BrowseFilterablePage(title="Blog", slug="test")
        self.root = Site.objects.get(is_default_site=True).root_page
        self.root.add_child(instance=self.filterable_page)

        self.page = BlogPage(
            title="Test",
            slug="one",
            live=True,
        )
        self.filterable_page.add_child(instance=self.page)

        self.rebuild_elasticsearch_index('v1', stdout=StringIO())
コード例 #23
0
    def setUp(self):
        self.filterable_page = BrowseFilterablePage(
            title="Blog",
            slug="test",
            live=True
        )
        self.url_path = self.filterable_page.url

        self.root = Site.objects.get(is_default_site=True).root_page
        self.root.add_child(instance=self.filterable_page)

        self.page1 = BlogPage(
            title="Page archived in 2018",
            live=True,
            is_archived="yes",
            first_published_at=datetime.datetime(2018, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2021, 1, 1, tzinfo=pytz.UTC)
        )
        self.page2 = BlogPage(
            title="Page archived in 2019",
            live=True,
            is_archived="yes",
            first_published_at=datetime.datetime(2019, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2019, 1, 1, tzinfo=pytz.UTC)
        )
        self.page3 = BlogPage(
            title="Page archived in 2020",
            live=True,
            is_archived="yes",
            first_published_at=datetime.datetime(2020, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2020, 1, 1, tzinfo=pytz.UTC)
        )
        self.page4 = BlogPage(
            title="Page published in 2021",
            live=True,
            is_archived="no",
            first_published_at=datetime.datetime(2021, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2021, 1, 1, tzinfo=pytz.UTC)
        )

        self.filterable_page.add_child(instance=self.page1)
        self.filterable_page.add_child(instance=self.page2)
        self.filterable_page.add_child(instance=self.page3)
        self.filterable_page.add_child(instance=self.page4)

        self.stdout = StringIO()
コード例 #24
0
ファイル: test_home_page.py プロジェクト: cfpb/cfgov-refresh
class TestHomePage(TestCase):

    def setUp(self):
        self.home_page = HomePage.objects.get(slug='cfgov')

        # Set up a root for updates
        self.updates_page = SublandingFilterablePage(
            title='Updates', slug='updates', live=True
        )
        self.home_page.add_child(instance=self.updates_page)
        self.updates_page.save_revision().publish()

        # Set up blogs
        self.blog_1 = BlogPage(
            title='Blog 1', slug='blog1', live=True
        )
        self.updates_page.add_child(instance=self.blog_1)
        self.blog_2 = BlogPage(
            title='Blog 2', slug='blog2', live=True
        )
        self.updates_page.add_child(instance=self.blog_2)
        self.blog_3 = BlogPage(
            title='Blog 3', slug='blog3', live=True
        )
        self.updates_page.add_child(instance=self.blog_3)

        # Set up some events
        self.event_1 = EventPage(
            title='Event 1', slug='event1', live=True
        )
        self.updates_page.add_child(instance=self.event_1)
        self.event_2 = EventPage(
            title='Event 2', slug='event2', live=True
        )
        self.updates_page.add_child(instance=self.event_2)
        self.event_3 = EventPage(
            title='Event 3', slug='event3', live=True
        )
        self.updates_page.add_child(instance=self.event_3)

        # Set up some Newsroom posts
        self.news_1 = NewsroomPage(
            title='Newsroom 1', slug='news1', live=True
        )
        self.updates_page.add_child(instance=self.news_1)
        self.news_2 = NewsroomPage(
            title='Newsroom 2', slug='news2', live=True
        )
        self.updates_page.add_child(instance=self.news_2)
        self.news_3 = NewsroomPage(
            title='Newsroom 3', slug='news3', live=True
        )
        self.updates_page.add_child(instance=self.news_3)

        # Publish things in an order
        self.news_3.save_revision().publish()
        self.blog_2.save_revision().publish()
        self.event_2.save_revision().publish()
        self.blog_1.save_revision().publish()
        self.news_1.save_revision().publish()
        self.event_3.save_revision().publish()
        self.blog_3.save_revision().publish()
        self.event_1.save_revision().publish()
        self.news_2.save_revision().publish()

        # Set up some unpublished types
        self.unpublished_blog_1 = BlogPage(
            title='Unpublished blog 1', slug='unpublished_blog1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_blog_1)

        # Set up some events
        self.unpublished_event_1 = EventPage(
            title='Unpublished event 1', slug='unpublished_event1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_event_1)

        # Set up some Newsroom posts
        self.unpublished_news_1 = NewsroomPage(
            title='Unpublished news 1', slug='unpublished_news1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_news_1)

        # Add an excluded update to exclude event_1
        self.home_page.excluded_updates.create(
            page=self.home_page, excluded_page=self.event_1
        )
        self.home_page.save_revision().publish()

    def test_get_latest_updates(self):
        response = self.client.get('/')
        latest_updates = response.context_data['latest_updates']
        self.assertEqual(
            ['news2', 'blog3', 'event3', 'news1', 'blog1', 'event2'],
            [p.slug for p in latest_updates]
        )
コード例 #25
0
class InactiveUsersTestCase(TestCase):

    def setUp(self):
        self.filterable_page = BrowseFilterablePage(
            title="Blog",
            slug="test",
            live=True
        )
        self.url_path = self.filterable_page.url

        self.root = Site.objects.get(is_default_site=True).root_page
        self.root.add_child(instance=self.filterable_page)

        self.page1 = BlogPage(
            title="Page published in 2017",
            live=True,
            first_published_at=datetime.datetime(2017, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2020, 1, 1, tzinfo=pytz.UTC)
        )
        self.page2 = BlogPage(
            title="Page published in 2019",
            live=True,
            first_published_at=datetime.datetime(2018, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2018, 1, 1, tzinfo=pytz.UTC)
        )
        self.page3 = BlogPage(
            title="Page published in 2019",
            live=True,
            first_published_at=datetime.datetime(2019, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2019, 1, 1, tzinfo=pytz.UTC)
        )
        self.page4 = BlogPage(
            title="Page in archived in 2020",
            live=True,
            is_archived="yes",
            first_published_at=datetime.datetime(2020, 1, 1, tzinfo=pytz.UTC),
            last_published_at=datetime.datetime(2020, 1, 1, tzinfo=pytz.UTC)
        )

        self.filterable_page.add_child(instance=self.page1)
        self.filterable_page.add_child(instance=self.page2)
        self.filterable_page.add_child(instance=self.page3)
        self.filterable_page.add_child(instance=self.page4)

        self.stdout = StringIO()

    def test_archive_bad_path_errors(self):
        with self.assertRaises(CommandError):
            call_command("archive_pages", "foo/bar")

    @freeze_time("2020-1-1")
    def test_archive_default_opts(self):
        call_command(
            "archive_pages",
            self.filterable_page.url,
            stdout=self.stdout,
        )

        self.page1.refresh_from_db()
        self.page2.refresh_from_db()
        self.page3.refresh_from_db()
        self.page4.refresh_from_db()

        self.assertTrue(self.page1.archived)
        self.assertFalse(self.page2.archived)
        self.assertFalse(self.page3.archived)
        self.assertTrue(self.page4.archived)

    @freeze_time("2019-2-3")
    def test_archive_months_days(self):
        call_command(
            "archive_pages",
            self.filterable_page.url,
            years=1,
            months=1,
            days=1,
            stdout=self.stdout,
        )

        self.page1.refresh_from_db()
        self.page2.refresh_from_db()
        self.page3.refresh_from_db()
        self.page4.refresh_from_db()

        self.assertTrue(self.page1.archived)
        self.assertTrue(self.page2.archived)
        self.assertFalse(self.page3.archived)
        self.assertTrue(self.page4.archived)

    @freeze_time("2020-1-2")
    def test_archive_last_publish_date(self):
        call_command(
            "archive_pages",
            self.filterable_page.url,
            years=1,
            by_published_date="last",
            stdout=self.stdout,
        )

        self.page1.refresh_from_db()
        self.page2.refresh_from_db()
        self.page3.refresh_from_db()
        self.page4.refresh_from_db()

        self.assertFalse(self.page1.archived)
        self.assertTrue(self.page2.archived)
        self.assertTrue(self.page3.archived)
        self.assertTrue(self.page4.archived)
コード例 #26
0
class TestHomePage(TestCase):
    def setUp(self):
        self.home_page = HomePage.objects.get(slug='cfgov')

        # Set up a root for updates
        self.updates_page = SublandingFilterablePage(title='Updates',
                                                     slug='updates',
                                                     live=True)
        self.home_page.add_child(instance=self.updates_page)
        self.updates_page.save_revision().publish()

        # Set up blogs
        self.blog_1 = BlogPage(title='Blog 1', slug='blog1', live=True)
        self.updates_page.add_child(instance=self.blog_1)
        self.blog_2 = BlogPage(title='Blog 2', slug='blog2', live=True)
        self.updates_page.add_child(instance=self.blog_2)
        self.blog_3 = BlogPage(title='Blog 3', slug='blog3', live=True)
        self.updates_page.add_child(instance=self.blog_3)

        # Set up some events
        self.event_1 = EventPage(title='Event 1', slug='event1', live=True)
        self.updates_page.add_child(instance=self.event_1)
        self.event_2 = EventPage(title='Event 2', slug='event2', live=True)
        self.updates_page.add_child(instance=self.event_2)
        self.event_3 = EventPage(title='Event 3', slug='event3', live=True)
        self.updates_page.add_child(instance=self.event_3)

        # Set up some Newsroom posts
        self.news_1 = NewsroomPage(title='Newsroom 1', slug='news1', live=True)
        self.updates_page.add_child(instance=self.news_1)
        self.news_2 = NewsroomPage(title='Newsroom 2', slug='news2', live=True)
        self.updates_page.add_child(instance=self.news_2)
        self.news_3 = NewsroomPage(title='Newsroom 3', slug='news3', live=True)
        self.updates_page.add_child(instance=self.news_3)

        # Publish things in an order
        self.news_3.save_revision().publish()
        self.blog_2.save_revision().publish()
        self.event_2.save_revision().publish()
        self.blog_1.save_revision().publish()
        self.news_1.save_revision().publish()
        self.event_3.save_revision().publish()
        self.blog_3.save_revision().publish()
        self.event_1.save_revision().publish()
        self.news_2.save_revision().publish()

        # Set up some unpublished types
        self.unpublished_blog_1 = BlogPage(title='Unpublished blog 1',
                                           slug='unpublished_blog1',
                                           live=False)
        self.updates_page.add_child(instance=self.unpublished_blog_1)

        # Set up some events
        self.unpublished_event_1 = EventPage(title='Unpublished event 1',
                                             slug='unpublished_event1',
                                             live=False)
        self.updates_page.add_child(instance=self.unpublished_event_1)

        # Set up some Newsroom posts
        self.unpublished_news_1 = NewsroomPage(title='Unpublished news 1',
                                               slug='unpublished_news1',
                                               live=False)
        self.updates_page.add_child(instance=self.unpublished_news_1)

        # Add an excluded update to exclude event_1
        self.home_page.excluded_updates.create(page=self.home_page,
                                               excluded_page=self.event_1)
        self.home_page.save_revision().publish()

    def test_get_latest_updates(self):
        response = self.client.get('/')
        latest_updates = response.context_data['latest_updates']
        self.assertEqual(
            ['news2', 'blog3', 'event3', 'news1', 'blog1', 'event2'],
            [p.slug for p in latest_updates])
コード例 #27
0
    def setUp(self):
        now = datetime.now(pytz.UTC)

        self.home_page = HomePage.objects.get(slug='cfgov')

        # Set up a root for updates
        self.updates_page = SublandingFilterablePage(
            title='Updates', slug='updates', live=True
        )
        self.home_page.add_child(instance=self.updates_page)
        self.updates_page.save_revision().publish()

        # Set up blogs
        self.blog_1 = BlogPage(
            title='Blog 1', slug='blog1', live=True
        )
        self.updates_page.add_child(instance=self.blog_1)
        self.blog_2 = BlogPage(
            title='Blog 2', slug='blog2', live=True
        )
        self.updates_page.add_child(instance=self.blog_2)
        self.blog_3 = BlogPage(
            title='Blog 3', slug='blog3', live=True
        )
        self.updates_page.add_child(instance=self.blog_3)

        # Set up some events
        self.event_1 = EventPage(
            title='Event 1',
            slug='event1',
            live=True,
            start_dt=now
        )
        self.updates_page.add_child(instance=self.event_1)
        self.event_2 = EventPage(
            title='Event 2',
            slug='event2',
            live=True,
            start_dt=now
        )
        self.updates_page.add_child(instance=self.event_2)
        self.event_3 = EventPage(
            title='Event 3',
            slug='event3',
            live=True,
            start_dt=now
        )
        self.updates_page.add_child(instance=self.event_3)

        # Set up some Newsroom posts
        self.news_1 = NewsroomPage(
            title='Newsroom 1', slug='news1', live=True
        )
        self.updates_page.add_child(instance=self.news_1)
        self.news_2 = NewsroomPage(
            title='Newsroom 2', slug='news2', live=True
        )
        self.updates_page.add_child(instance=self.news_2)
        self.news_3 = NewsroomPage(
            title='Newsroom 3', slug='news3', live=True
        )
        self.updates_page.add_child(instance=self.news_3)

        # Publish things in an order
        self.news_3.save_revision().publish()
        self.blog_2.save_revision().publish()
        self.event_2.save_revision().publish()
        self.blog_1.save_revision().publish()
        self.news_1.save_revision().publish()
        self.event_3.save_revision().publish()
        self.blog_3.save_revision().publish()
        self.event_1.save_revision().publish()
        self.news_2.save_revision().publish()

        # Set up some unpublished types
        self.unpublished_blog_1 = BlogPage(
            title='Unpublished blog 1', slug='unpublished_blog1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_blog_1)

        # Set up some events
        self.unpublished_event_1 = EventPage(
            title='Unpublished event 1',
            slug='unpublished_event1',
            live=False,
            start_dt=now
        )
        self.updates_page.add_child(instance=self.unpublished_event_1)

        # Set up some Newsroom posts
        self.unpublished_news_1 = NewsroomPage(
            title='Unpublished news 1', slug='unpublished_news1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_news_1)

        # Add an excluded update to exclude event_1
        self.home_page.excluded_updates.create(
            page=self.home_page, excluded_page=self.event_1
        )
        self.home_page.save_revision().publish()
コード例 #28
0
ファイル: test_home_page.py プロジェクト: cfpb/cfgov-refresh
    def setUp(self):
        self.home_page = HomePage.objects.get(slug='cfgov')

        # Set up a root for updates
        self.updates_page = SublandingFilterablePage(
            title='Updates', slug='updates', live=True
        )
        self.home_page.add_child(instance=self.updates_page)
        self.updates_page.save_revision().publish()

        # Set up blogs
        self.blog_1 = BlogPage(
            title='Blog 1', slug='blog1', live=True
        )
        self.updates_page.add_child(instance=self.blog_1)
        self.blog_2 = BlogPage(
            title='Blog 2', slug='blog2', live=True
        )
        self.updates_page.add_child(instance=self.blog_2)
        self.blog_3 = BlogPage(
            title='Blog 3', slug='blog3', live=True
        )
        self.updates_page.add_child(instance=self.blog_3)

        # Set up some events
        self.event_1 = EventPage(
            title='Event 1', slug='event1', live=True
        )
        self.updates_page.add_child(instance=self.event_1)
        self.event_2 = EventPage(
            title='Event 2', slug='event2', live=True
        )
        self.updates_page.add_child(instance=self.event_2)
        self.event_3 = EventPage(
            title='Event 3', slug='event3', live=True
        )
        self.updates_page.add_child(instance=self.event_3)

        # Set up some Newsroom posts
        self.news_1 = NewsroomPage(
            title='Newsroom 1', slug='news1', live=True
        )
        self.updates_page.add_child(instance=self.news_1)
        self.news_2 = NewsroomPage(
            title='Newsroom 2', slug='news2', live=True
        )
        self.updates_page.add_child(instance=self.news_2)
        self.news_3 = NewsroomPage(
            title='Newsroom 3', slug='news3', live=True
        )
        self.updates_page.add_child(instance=self.news_3)

        # Publish things in an order
        self.news_3.save_revision().publish()
        self.blog_2.save_revision().publish()
        self.event_2.save_revision().publish()
        self.blog_1.save_revision().publish()
        self.news_1.save_revision().publish()
        self.event_3.save_revision().publish()
        self.blog_3.save_revision().publish()
        self.event_1.save_revision().publish()
        self.news_2.save_revision().publish()

        # Set up some unpublished types
        self.unpublished_blog_1 = BlogPage(
            title='Unpublished blog 1', slug='unpublished_blog1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_blog_1)

        # Set up some events
        self.unpublished_event_1 = EventPage(
            title='Unpublished event 1', slug='unpublished_event1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_event_1)

        # Set up some Newsroom posts
        self.unpublished_news_1 = NewsroomPage(
            title='Unpublished news 1', slug='unpublished_news1', live=False
        )
        self.updates_page.add_child(instance=self.unpublished_news_1)

        # Add an excluded update to exclude event_1
        self.home_page.excluded_updates.create(
            page=self.home_page, excluded_page=self.event_1
        )
        self.home_page.save_revision().publish()