tests: add tests for async cell rendering

This commit is contained in:
Frédéric Péters 2016-07-25 22:45:26 +02:00
parent 54cc745628
commit 2a3f362245
1 changed files with 38 additions and 1 deletions

View File

@ -3,8 +3,9 @@ import datetime
import pytest
import urllib
from django.core.urlresolvers import reverse
from combo.wsgi import application
from combo.data.models import Page, CellBase, TextCell, ParentContentCell
from combo.data.models import Page, CellBase, TextCell, ParentContentCell, FeedCell
pytestmark = pytest.mark.django_db
@ -182,3 +183,39 @@ def test_style_demo(app, admin_user):
assert 'Lorem ipsum' in resp.body
assert TextCell.objects.count() == 0
assert Page.objects.count() == 0
def test_page_async_cell(app):
Page.objects.all().delete()
page = Page(title='Home', slug='index', template_name='standard')
page.save()
cell = FeedCell(page=page, placeholder='content', url='http://example.net',
order=1)
cell.save()
resp = app.get('/', status=200)
assert 'data-ajax-cell-must-load="true"' in resp.body
def test_ajax_cell(app):
Page.objects.all().delete()
page = Page(title='Home', slug='index', template_name='standard')
page.save()
page2 = Page(title='Other', slug='other', template_name='standard')
page2.save()
cell = TextCell(page=page, placeholder='content', text='<p>Foobar</p>', order=0)
cell.save()
resp = app.get(reverse('combo-public-ajax-page-cell',
kwargs={'page_pk': page.id, 'cell_reference': cell.get_reference()}))
assert resp.body == '<p>Foobar</p>'
resp = app.get(reverse('combo-public-ajax-page-cell',
kwargs={'page_pk': page2.id, 'cell_reference': cell.get_reference()}),
status=404)
resp = app.get(reverse('combo-public-ajax-page-cell',
kwargs={'page_pk': '100', 'cell_reference': cell.get_reference()}),
status=404)
page.public = False
page.save()
resp = app.get(reverse('combo-public-ajax-page-cell',
kwargs={'page_pk': page.id, 'cell_reference': cell.get_reference()}),
status=403)