Exemplo n.º 1
0
    def test_live_draft_page(self):
        """ Live draft page should not display unpublished content"""
        live_draft = LandingPage(title='Page Before Updates',
                                 slug='page',
                                 live=True)
        publish_page(child=live_draft)
        live_draft.live = False
        live_draft.title = 'Draft Page Updates'
        save_page(page=live_draft)

        www_response = django_client.get('/page/')
        self.assertContains(www_response, 'Page Before Updates')
        self.assertNotContains(www_response, 'Draft Page Updates')
Exemplo n.º 2
0
    def test_live_draft_page(self):
        """ Live draft page should not display unpublished content"""
        live_draft = LandingPage(
            title='Page Before Updates',
            slug='page',
            live=True
        )
        publish_page(child=live_draft)
        live_draft.live = False
        live_draft.title = 'Draft Page Updates'
        save_page(page=live_draft)

        www_response = django_client.get('/page/')
        self.assertContains(www_response, 'Page Before Updates')
        self.assertNotContains(www_response, 'Draft Page Updates')
Exemplo n.º 3
0
    def test_live_draft_page(self):
        """ Live draft page should not display unpublished content"""
        live_draft = LandingPage(
            title='Page Before Updates',
            slug='page',
            live=False,
        )
        save_new_page(live_draft).publish()

        live_draft.title = 'Draft Page Updates'
        live_draft.save_revision()

        www_response = django_client.get('/page/')

        self.assertNotContains(www_response, 'Draft Page Updates')
        self.assertContains(www_response, 'Page Before Updates')
Exemplo n.º 4
0
    def test_live_draft_page(self):        
        """ Live draft page should not display unpublished content"""     
        live_draft = LandingPage(     
            title='Page Before Updates',      
            slug='page',  
            live=False,
        )     
        save_new_page(live_draft).publish()

        live_draft.title = 'Draft Page Updates'     
        live_draft.save_revision()    
      
        www_response = django_client.get('/page/') 
 
        self.assertNotContains(www_response, 'Draft Page Updates')      
        self.assertContains(www_response, 'Page Before Updates')      
Exemplo n.º 5
0
    def test_shared_draft_page(self):
        """Shared draft page should not display unshared content"""
        shared_draft = LandingPage(
            title='Page Before Updates',
            slug='page',
            live=False,
            shared=True,
        )
        save_new_page(child=shared_draft)
        shared_draft.title = 'Draft Page Updates'
        shared_draft.shared = False
        save_page(page=shared_draft)

        www_response = django_client.get('/page/')
        self.assertEqual(www_response.status_code, 404)

        staging_response = django_client.get(
            '/page/', HTTP_HOST=os.environ.get('DJANGO_STAGING_HOSTNAME'))
        self.assertContains(staging_response, 'Page Before Updates')
        self.assertNotContains(staging_response, 'Draft Page Updates')
Exemplo n.º 6
0
    def test_shared_draft_page(self):
        """Shared draft page should not display unshared content"""
        shared_draft = LandingPage(
            title='Page Before Updates',
            slug='page',
            live=False,
            shared=True,
        )
        save_new_page(child=shared_draft)
        shared_draft.title = 'Draft Page Updates'
        shared_draft.shared = False
        save_page(page=shared_draft)

        www_response = django_client.get('/page/')
        self.assertEqual(www_response.status_code, 404)

        staging_response = django_client.get(
            '/page/', 
            HTTP_HOST=os.environ.get('DJANGO_STAGING_HOSTNAME')
        )
        self.assertContains(staging_response, 'Page Before Updates')
        self.assertNotContains(staging_response, 'Draft Page Updates')
Exemplo n.º 7
0
def run():
    print 'Running script \'scripts.initial_test_data\' ...'

    admin_user = User.objects.filter(username='******')
    if not admin_user:
        admin_user = User(username='******',
                          password=make_password(os.environ.get('WAGTAIL_ADMIN_PW')),
                          is_superuser=True, is_active=True, is_staff=True)
        admin_user.save()
    else:
        admin_user = admin_user[0]


    # # Creates a new site root `CFGov`
    site_root = HomePage.objects.filter(title='CFGOV')
    if not site_root:
        root = Page.objects.first()
        site_root = HomePage(title='CFGOV', slug='home', depth=2, owner=admin_user)
        site_root.live = True
        root.add_child(instance=site_root)
        latest = site_root.save_revision(user=admin_user, submitted_for_moderation=False)
        latest.save()
    else:
        site_root = site_root[0]

    # Setting new site root
    site = Site.objects.first()
    if site.root_page_id != site_root.id:
        site.port = 8000
        site.root_page_id = site_root.id
        site.save()
        content_site = Site(hostname='content.localhost', port=8000, root_page_id=site_root.id)
        content_site.save()

    def publish_page(child=None, root=site_root):
        try:
            root.add_child(instance=child)
        except NodeAlreadySaved:
            pass
        revision = child.save_revision(
            user=admin_user,
            submitted_for_moderation=False,
        )
        revision.publish()

    # Create snippets
    contact = Contact.objects.filter(heading='Test User')
    if not contact:
        contact = Contact(heading='Test User')
    else:
        contact = contact[0]
    contact.contact_info = StreamValue(contact.contact_info.stream_block,
        [
            atomic.contact_email,
            atomic.contact_phone,
            atomic.contact_address
        ], True)
    contact.save()

    # Create each Page Type
    lap = LandingPage.objects.filter(title='Landing Page')
    if not lap:
        lap = LandingPage(title='Landing Page', slug='landing-page', owner=admin_user)
    else:
        lap = lap[0]
    lap.content = StreamValue(lap.content.stream_block,
        [
            atomic.image_text_25_75_group,
            atomic.image_text_50_50_group,
            atomic.half_width_link_blob_group,
            atomic.well
        ], True)
    lap.sidefoot = StreamValue(lap.sidefoot.stream_block,
        [
            atomic.related_links,
            atomic.sidebar_contact(contact.id)
        ], True)
    publish_page(lap)

    sp = SublandingPage.objects.filter(title='Sublanding Page')
    if not sp:
        sp = SublandingPage(title='Sublanding Page', slug='sublanding-page', owner=admin_user)
    else:
        sp = sp[0]
    sp.content = StreamValue(sp.content.stream_block,
        [
            atomic.main_contact_info(contact.id),
            atomic.reg_comment
        ], True)
    sp.sidefoot = StreamValue(sp.sidefoot.stream_block,
        [
            atomic.email_signup,
            atomic.rss_feed
        ], True)

    publish_page(sp)

    bp = BrowsePage.objects.filter(title='Browse Page')
    if not bp:
        bp = BrowsePage(title='Browse Page', slug='browse-page', owner=admin_user)
    else:
        bp = bp[0]
    bp.header = StreamValue(bp.header.stream_block,
        [
            atomic.featured_content
        ], True)
    bp.content = StreamValue(bp.content.stream_block,
        [
            atomic.expandable,
            atomic.expandable_group
        ], True)
    publish_page(bp)

    # Filterable Pages
    bfp = BrowseFilterablePage.objects.filter(title='Browse Filterable Page')
    if not bfp:
        bfp = BrowseFilterablePage(title='Browse Filterable Page', slug='browse-filterable-page', owner=admin_user)
    else:
        bfp = bfp[0]
    bfp.header = StreamValue(bfp.header.stream_block, [atomic.text_introduction], True)
    publish_page(bfp)

    sfp = SublandingFilterablePage.objects.filter(title='Sublanding Filterable Page')
    if not sfp:
        sfp = SublandingFilterablePage(title='Sublanding Filterable Page', slug='sublanding-filterable-page',
                                       owner=admin_user)
    else:
        sfp = sfp[0]
    sfp.header = StreamValue(sfp.header.stream_block, [atomic.hero], True)
    publish_page(sfp)

    eap = EventArchivePage.objects.filter(title='Event Archive Page')
    if not eap:
        eap = EventArchivePage(title='Event Archive Page', slug='event-archive-page', owner=admin_user)
    else:
        eap = eap[0]
    publish_page(eap)

    nlp = NewsroomLandingPage.objects.filter(title='Newsroom Landing Page')
    if not nlp:
        nlp = NewsroomLandingPage(title='Newsroom Landing Page', slug='newsroom-landing-page', owner=admin_user)
    else:
        nlp = nlp[0]
    publish_page(nlp)

    alp = ActivityLogPage.objects.filter(title='Activity Log Page')
    if not alp:
        alp = ActivityLogPage(title='Activity Log Page', slug='activity-log-page', owner=admin_user)
    else:
        alp = alp[0]
    publish_page(alp)

    # Filter Pages
    if not EventPage.objects.filter(title='Event Page'):
        ep = EventPage(title='Event Page', slug='event-page', owner=admin_user)
        publish_page(ep, bfp)

    ddp = DocumentDetailPage.objects.filter(title='Document Detail Page')
    if not ddp:
        ddp = DocumentDetailPage(title='Document Detail Page', slug='document-detail-page', owner=admin_user)
    else:
        ddp = ddp[0]
    ddp.sidefoot = StreamValue(ddp.sidefoot.stream_block, [atomic.related_metadata], True)
    publish_page(ddp, bfp)

    lp = LearnPage.objects.filter(title='Learn Page')
    if not lp:
        lp = LearnPage(title='Learn Page', slug='learn-page', owner=admin_user)
    else:
        lp = lp[0]
    lp.header = StreamValue(lp.header.stream_block, [atomic.item_introduction], True)
    lp.content = StreamValue(lp.content.stream_block,
        [
            atomic.full_width_text,
            atomic.call_to_action,
            atomic.table
        ], True)
    publish_page(lp, bfp)

    if not NewsroomPage.objects.filter(title='Newsroom Page'):
        np = NewsroomPage(title='Newsroom Page', slug='newsroom-page', owner=admin_user)
        publish_page(np, nlp)

    if not LegacyNewsroomPage.objects.filter(title='Legacy Newsroom Page'):
        lnp = LegacyNewsroomPage(title='Legacy Newsroom Page', slug='legacy-newsroom-page', owner=admin_user)
        publish_page(lnp, nlp)

    if not BlogPage.objects.filter(title='Blog Page'):
        bp = BlogPage(title='Blog Page', slug='blog-page', owner=admin_user)
        publish_page(bp, sfp)

    if not LegacyBlogPage.objects.filter(title='Legacy Blog Page'):
        lbp = LegacyBlogPage(title='Legacy Blog Page', slug='legacy-blog-page', owner=admin_user)
        publish_page(lbp, sfp)


    # Create and configure pages for testing page states
    draft = LandingPage.objects.filter(slug='draft-page')
    if not draft:
        draft = LandingPage(title='Draft Page', slug='draft-page', owner=admin_user, live=False, shared=False)
        site_root.add_child(instance=draft)
    else:
        draft = draft[0]
    draft.save_revision(user=admin_user)

    shared = LandingPage.objects.filter(slug='shared-page')
    if not shared:
        shared = LandingPage(title='Shared Page', slug='shared-page', owner=admin_user, live=False, shared=True)
        site_root.add_child(instance=shared)
    else:
        shared = shared[0]
    shared.save_revision(user=admin_user)

    shared_draft = LandingPage.objects.filter(slug='shared-draft-page')
    if not shared_draft:
        shared_draft = LandingPage(title='Shared Page', slug='shared-draft-page', owner=admin_user, live=False, shared=True)
        site_root.add_child(instance=shared_draft)
    else:
        shared_draft = shared_draft[0]
    shared_draft.save_revision(user=admin_user)
    shared_draft.title = 'Shared Draft Page'
    shared_draft.shared = False
    shared_draft.save()
    shared_draft.save_revision(user=admin_user)

    live = LandingPage.objects.filter(slug='live-page')
    if not live:
        live = LandingPage(title='Live Page', slug='live-page', owner=admin_user, live=True, shared=True)
    else:
        live = live[0]
    publish_page(live)

    livedraft = LandingPage.objects.filter(slug='live-draft-page')
    if not livedraft:
        livedraft = LandingPage(title='Live Draft Page', slug='live-draft-page', owner=admin_user, live=True, shared=True)
    else:
        livedraft = livedraft[0]
    publish_page(livedraft)
    livedraft.live = False
    livedraft.shared = False
    livedraft.title = 'Live Page'
    livedraft.save_revision(user=admin_user)