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"])
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'])
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/"))
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"]})
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>')
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'])