示例#1
0
    def test_existing_content_tile(self):
        page = api.content.create(type='Document',
                                  id='page1',
                                  container=self.portal,
                                  subject=('foobar', ),
                                  title='Foobar',
                                  description='Some foobar stuff')
        data = {'content': [IUUID(page)]}
        name = self.prefix + 'existing'
        html = render_tile(self.request, page, name, data)
        self.assertTrue('existing-content-basic' in html)

        data['display_type'] = 'backgroundimage'
        html = render_tile(self.request, page, name, data)
        self.assertTrue('existing-content-backgroundimage' in html)
示例#2
0
    def test_timeline_render(self):

        name = self.prefix + 'twitterTimeline'
        data = {'screenName': u'plone', 'theme': u'dark'}
        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue('twitter-timeline' in page)
        self.assertTrue('plone' in page)
示例#3
0
    def test_video_render(self):
        name = self.prefix + 'videotile'
        data = {'youtube_url': u'https://www.youtube.com/watch?v=wZZ7oFKsKzY'}

        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue(
            'https://www.youtube-nocookie.com/embed/wZZ7oFKsKzY' in page)
        self.assertTrue('iframe' in page)
示例#4
0
    def test_pinterest_render(self):
        name = self.prefix + 'pin'
        data = {'url': u'https://www.pinterest.com/pin/546413367268498761/'}

        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue('data-pin-do="embedPin"' in page)
        self.assertTrue(
            'href="https://www.pinterest.com/pin/546413367268498761/"' in page)
示例#5
0
    def test_sharebutton_render(self):

        name = self.prefix + 'sharing'
        data = {'buttons': ['twitter', 'facebook']}

        page = render_tile(self.request, self.portal, name, data)

        self.assertTrue('Share on Facebook' in page)
        self.assertTrue('Share on Twitter' in page)
示例#6
0
    def test_timeline_render(self):

        name = self.prefix + 'twitterTimeline'
        data = {'screenName': u'plone', 'theme': u'dark'}
        page = render_tile(self.request, self.portal, name, data)
        # Twitter WidgetID set by default
        self.assertTrue('684100313582833665' in page)
        # Checking for other simple configurations
        self.assertTrue('data-pat-timeline' in page)
        self.assertTrue('plone' in page)
示例#7
0
    def test_subscribe_render(self):

        name = self.prefix + 'subscription'
        data = {}

        page = render_tile(self.request, self.portal, name, data)

        # Not really much to test here?
        # Just make sure the form renders
        self.assertTrue('form.buttons.subscribe' in page)
示例#8
0
    def test_embed_render(self):
        embedCode = '<iframe width="560" height="315" src="https://www.youtube.com/embed/JbpgM-JTang" frameborder="0" allowfullscreen></iframe>'  # noqa

        name = self.prefix + 'embedtile'
        data = {'code': embedCode}

        page = render_tile(self.request, self.portal, name, data)

        # Embed tile just spits the embed code back out onto the page.
        self.assertTrue(embedCode in page)
示例#9
0
    def test_map_render(self):
        name = self.prefix + 'maptile'
        data = {
            'center':
            '{"formatted":"Oshkosh, WI, USA","lat":44.0247062,"lng":-88.54261359999998}'
        }

        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue('class="map-container"' in page)
        self.assertTrue('Oshkosh, WI' in page)
示例#10
0
    def test_facebook_render(self):

        name = self.prefix + 'facebookPage'
        data = {
            'href': u'https://www.facebook.com/plonecms/?fref=ts',
            'timeline': 'timeline'
        }
        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue('data-tabs="timeline"' in page)
        self.assertTrue(
            'data-href="https://www.facebook.com/plonecms"' in page)
示例#11
0
    def test_calendar_render(self):
        name = self.prefix + 'calendar'
        data = {}

        # create an event for today to make sure the calendar reflects
        # current events
        api.content.create(type='Event', id='event1', container=self.portal)

        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue('data-pat-fullcalendar=' in page)
        # make sure there's a link to the event in the calendar
        self.assertTrue('event1' in page)
示例#12
0
    def test_tweet_render(self):

        name = self.prefix + 'tweet'
        data = {
            'url': u'https://twitter.com/xkcdComic/status/678810713033277440',
            'theme': u'light'
        }

        page = render_tile(self.request, self.portal, name, data)
        # Pretty much just assuring it renders correctly.
        # Not much else to do here
        self.assertTrue('678810713033277440' in page)
        self.assertTrue('twitter-tweet' in page)
示例#13
0
    def test_render_tile(self):
        self._make_tile(
            {
                "title": "Foobar",
                "category": "media",
                "fields": [{
                    "name": "foobar",
                    "title": "Text",
                    "required": False
                }]
            },
            template='<div>Hello ${data/foobar}</div>')
        data = {'tile_id': 'foobartile', 'foobar': 'Foobar!'}

        result = render_tile(self.request, self.portal, 'castle.cms.dynamic',
                             data)
        self.assertIn('Hello Foobar!', result)
示例#14
0
    def test_querylisting_results(self):
        page1 = api.content.create(type='Document',
                                   id='page1',
                                   container=self.portal,
                                   subject=('foobar', ),
                                   title='Foobar')
        page2 = api.content.create(type='Document',
                                   id='page2',
                                   container=self.portal,
                                   subject=('foobar', ),
                                   title='Foobar')
        page3 = api.content.create(type='Document',
                                   id='page3',
                                   container=self.portal,
                                   subject=('foobar', 'foobar2'),
                                   title='Foobar')
        page4 = api.content.create(type='Document',
                                   id='page4',
                                   container=self.portal,
                                   subject=('foobar', 'foobar2'),
                                   title='Foobar')
        data = {
            'query': [{
                'i': 'Subject',
                'o': 'plone.app.querystring.operation.list.contains',
                'v': 'foobar2'
            }],
            'available_tags': ('foobar2', )
        }
        for item in [page1, page2, page3, page4]:
            api.content.transition(obj=item, to_state='published')

        tile = get_tile(self.request, self.portal, 'castle.cms.querylisting',
                        data)
        self.assertEqual(tile.results()['total'], 2)

        self.request.form.update({'Subject': 'foobar'})
        tile = get_tile(self.request, self.portal, 'castle.cms.querylisting',
                        data)
        self.assertEqual(tile.results()['total'], 4)

        name = self.prefix + 'querylisting'
        page = render_tile(self.request, self.portal, name, data)
        self.assertTrue('Foobar' in page)