Exemplo n.º 1
0
    def test_dumppages(self):
        HomePage.objects.all().delete()
        homepage = HomePage.objects.create(pk=1)
        placeholder = create_placeholder(page=homepage, slot='content')

        create_content_item(
            SlidesContent,
            placeholder=placeholder,
            sort_order=1,
            language_code='en',
        )

        steps = create_content_item(
            StepsContent,
            placeholder=placeholder,
            sort_order=2,
            language_code='en',
        )

        Step.objects.create(
            block=steps,
            header='First',
            text='Go!',
            sequence=1
        )

        Step.objects.create(
            block=steps,
            header='Second',
            text='Go!',
            sequence=2
        )

        Step.objects.create(
            block=steps,
            header='Third',
            text='Go!',
            sequence=3
        )

        page = PageFactory.create(
            slug='about',
            title='About this platform',
            language='en',
            publication_date='2020-01-01 00:00+00:00'
        )
        create_content_item(
            TextItem,
            create_placeholder(page=page, slot='blog_contents'),
            sort_order=1,
            language_code='en',
            text='A really engaging text!'
        )

        call_command('dumppages', '-f', 'test_pages.json')
        json_file = open("test_pages.json", "r")
        test_output = json.load(json_file)

        self.assertEqual(test_output, PAGE_DUMP)
    def test_copy_language_backend(self):
        """
        Testing how the copy button works.
        It calls the ``get_placeholder_data_view`` function.
        """
        self.admin_site.register(PlaceholderFieldTestPage,
                                 PlaceholderFieldTestPageAdmin)
        modeladmin = self.admin_site._registry[PlaceholderFieldTestPage]

        page = factories.create_page()
        placeholder = factories.create_placeholder(page=page)
        item1 = factories.create_content_item(RawHtmlTestItem,
                                              placeholder=placeholder,
                                              html="AA")
        item2 = factories.create_content_item(RawHtmlTestItem,
                                              placeholder=placeholder,
                                              html="BB")

        request = self._get_request(
            admin_urlname(page._meta, "get_placeholder_data"))
        data = modeladmin.get_placeholder_data_view(request, page.pk).jsondata
        self.assertEqual(len(data["formset_forms"]), 2)
        self.assertEqual(data["formset_forms"][0]["model"], "RawHtmlTestItem")
        self.assertEqual(data["formset_forms"][0]["contentitem_id"], item1.pk)
        self.assertEqual(data["formset_forms"][1]["contentitem_id"], item2.pk)
        self.assertTrue("AA" in data["formset_forms"][0]["html"])
Exemplo n.º 3
0
    def test_copy_language_backend(self):
        """
        Testing how the copy button works.
        It calls the ``get_placeholder_data_view`` function.
        """
        self.admin_site.register(PlaceholderFieldTestPage,
                                 PlaceholderFieldTestPageAdmin)
        modeladmin = self.admin_site._registry[PlaceholderFieldTestPage]

        page = factories.create_page()
        placeholder = factories.create_placeholder(page=page)
        item1 = factories.create_content_item(RawHtmlTestItem,
                                              placeholder=placeholder,
                                              html='AA')
        item2 = factories.create_content_item(RawHtmlTestItem,
                                              placeholder=placeholder,
                                              html='BB')

        request = self._get_request(
            admin_urlname(page._meta, 'get_placeholder_data'))
        data = modeladmin.get_placeholder_data_view(request, page.pk).jsondata
        self.assertEqual(len(data['formset_forms']), 2)
        self.assertEqual(data['formset_forms'][0]['model'], 'RawHtmlTestItem')
        self.assertEqual(data['formset_forms'][0]['contentitem_id'], item1.pk)
        self.assertEqual(data['formset_forms'][1]['contentitem_id'], item2.pk)
        self.assertTrue('AA' in data['formset_forms'][0]['html'])
Exemplo n.º 4
0
    def test_render_redirect(self):
        cache.clear()
        page = factories.create_page()
        placeholder = factories.create_placeholder(page=page)
        factories.create_content_item(RedirectTestItem, placeholder=placeholder, html='MEDIA_TEST')

        response = self.client.get(reverse('testpage', args=(page.pk,)))
        self.assertTrue(response.status_code, 301)
        self.assertIsInstance(response, HttpResponseRedirect)
        self.assertTrue(response['Location'].endswith('/contact/success/'))
    def test_render_redirect(self):
        cache.clear()
        page = factories.create_page()
        placeholder = factories.create_placeholder(page=page)
        factories.create_content_item(RedirectTestItem, placeholder=placeholder, html="MEDIA_TEST")

        response = self.client.get(reverse("testpage", args=(page.pk,)))
        self.assertTrue(response.status_code, 301)
        self.assertIsInstance(response, HttpResponseRedirect)
        self.assertTrue(response["Location"].endswith("/contact/success/"))
Exemplo n.º 6
0
    def test_render_media(self):
        """
        Test that 'class FrontendMedia' works.
        """
        placeholder = factories.create_placeholder()
        factories.create_content_item(MediaTestItem, placeholder=placeholder, html='MEDIA_TEST')

        output = rendering.render_placeholder(self.dummy_request, placeholder)
        self.assertEqual(output.html.strip(), 'MEDIA_TEST')
        self.assertEqual(output.media._js, ['testapp/media_item.js'])
        self.assertEqual(output.media._css, {'screen': ['testapp/media_item.css']})
def test_get_homepage(client):
    # Create the page
    user = User.objects.create(username='******')
    layout = PageLayout.objects.create(title='homepage', template_path='pages/homepage.html')
    page = FluentPage.objects.create(slug='homepage', override_url='/', layout=layout, author=user, status=FluentPage.PUBLISHED)

    placeholder = create_placeholder(page, slot='homepage')
    create_content_item(JumbotronItem, placeholder, title="JUMBO_TEST", content="Hello!")

    response = client.get('/en/')
    assert b'JUMBO_TEST' in response.content
    def test_render_media(self):
        """
        Test that 'class FrontendMedia' works.
        """
        placeholder = factories.create_placeholder()
        factories.create_content_item(MediaTestItem, placeholder=placeholder, html="MEDIA_TEST")

        output = rendering.render_placeholder(self.dummy_request, placeholder)
        self.assertEqual(output.html.strip(), "MEDIA_TEST")
        self.assertEqual(output.media._js, ["testapp/media_item.js"])
        self.assertEqual(output.media._css, {"screen": ["testapp/media_item.css"]})
Exemplo n.º 9
0
    def test_rendering(self):
        placeholder = create_placeholder()
        row = create_content_item(BootstrapRow, placeholder=placeholder)
        col1 = create_content_item(BootstrapColumn, placeholder=placeholder, parent_item=row, col_xs=6)
        col2 = create_content_item(BootstrapColumn, placeholder=placeholder, parent_item=row, col_xs=6, col_sm=12)
        text = create_content_item(RawHtmlTestItem, placeholder=placeholder, parent_item=col1, html='AA')
        text = create_content_item(RawHtmlTestItem, placeholder=placeholder, parent_item=col2, html='BB')

        items = placeholder.get_content_items()
        self.assertHTMLEqual(render_content_items(items).html, ''
                             '<div class="row">'
                             '<div class="col-xs-6">AA</div>'
                             '<div class="col-sm-12 col-xs-6">BB</div>'
                             '</div>')
Exemplo n.º 10
0
def test_get_homepage(client):
    # Create the page
    user = User.objects.create(username='******')
    layout = PageLayout.objects.create(title='homepage',
                                       template_path='pages/default.html')
    page = FluentPage.objects.create(slug='homepage',
                                     override_url='/',
                                     layout=layout,
                                     author=user,
                                     status=FluentPage.PUBLISHED)

    placeholder = create_placeholder(page, slot='main')
    #create_content_item(JumbotronItem, placeholder, title="JUMBO_TEST", content="Hello!")

    response = client.get('/')
    assert response.status_code == 200
    def test_copy_language_backend(self):
        """
        Testing how the copy button works.
        It calls the ``get_placeholder_data_view`` function.
        """
        self.admin_site.register(PlaceholderFieldTestPage, PlaceholderFieldTestPageAdmin)
        modeladmin = self.admin_site._registry[PlaceholderFieldTestPage]

        page = factories.create_page()
        placeholder = factories.create_placeholder(page=page)
        item1 = factories.create_content_item(RawHtmlTestItem, placeholder=placeholder, html='AA')
        item2 = factories.create_content_item(RawHtmlTestItem, placeholder=placeholder, html='BB')

        request = self._get_request(admin_urlname(page._meta, 'get_placeholder_data'))
        data = modeladmin.get_placeholder_data_view(request, page.pk).jsondata
        self.assertEqual(len(data['formset_forms']), 2)
        self.assertEqual(data['formset_forms'][0]['model'], 'RawHtmlTestItem')
        self.assertEqual(data['formset_forms'][0]['contentitem_id'], item1.pk)
        self.assertEqual(data['formset_forms'][1]['contentitem_id'], item2.pk)
        self.assertTrue('AA' in data['formset_forms'][0]['html'])