7

Add unittest for serving a regular page

See #150
This commit is contained in:
Michael van Tellingen
2017-06-02 10:32:41 +02:00
parent 5aa754dd80
commit 559d3c5356
4 changed files with 34 additions and 7 deletions

View File

@ -2,14 +2,22 @@ from __future__ import absolute_import, unicode_literals
import factory import factory
from django.utils.text import slugify from django.utils.text import slugify
from wagtail_factories.factories import MP_NodeFactory from wagtail_factories.factories import PageFactory
from tests.site.pages.models import ContentPage from tests.site.pages import models
class ContentPageFactory(MP_NodeFactory): class ContentPageFactory(PageFactory):
title = 'Test page' title = 'Test page'
slug = factory.LazyAttribute(lambda obj: slugify(obj.title)) slug = factory.LazyAttribute(lambda obj: slugify(obj.title))
class Meta: class Meta:
model = ContentPage model = models.ContentPage
class RegularPageFactory(PageFactory):
title = 'Regular page'
slug = factory.LazyAttribute(lambda obj: slugify(obj.title))
class Meta:
model = models.RegularPage

View File

@ -4,7 +4,7 @@ from django.contrib.messages.storage.fallback import FallbackStorage
from django.contrib.sessions.backends.db import SessionStore from django.contrib.sessions.backends.db import SessionStore
from django.test.client import RequestFactory as BaseRequestFactory from django.test.client import RequestFactory as BaseRequestFactory
from tests.factories.page import ContentPageFactory from tests.factories.page import ContentPageFactory, RegularPageFactory
from tests.factories.segment import SegmentFactory from tests.factories.segment import SegmentFactory
from tests.factories.site import SiteFactory from tests.factories.site import SiteFactory
@ -14,10 +14,12 @@ def site():
root_page = ContentPageFactory(parent=None, slug='') root_page = ContentPageFactory(parent=None, slug='')
site = SiteFactory(is_default_site=True, root_page=root_page) site = SiteFactory(is_default_site=True, root_page=root_page)
page1 = ContentPageFactory(parent=site.root_page, slug='page-1') page1 = ContentPageFactory(parent=root_page, slug='page-1')
page2 = ContentPageFactory(parent=site.root_page, slug='page-2') page2 = ContentPageFactory(parent=root_page, slug='page-2')
ContentPageFactory(parent=page1, slug='page-1-1') ContentPageFactory(parent=page1, slug='page-1-1')
ContentPageFactory(parent=page2, slug='page-2-1') ContentPageFactory(parent=page2, slug='page-2-1')
ContentPageFactory(parent=root_page, slug='regular')
return site return site

View File

@ -8,6 +8,16 @@ from wagtail.wagtailcore.models import Page
from wagtail_personalisation.models import PersonalisablePageMixin from wagtail_personalisation.models import PersonalisablePageMixin
class RegularPage(Page):
subtitle = models.CharField(max_length=255, blank=True, default='')
body = RichTextField(blank=True, default='')
content_panels = Page.content_panels + [
FieldPanel('subtitle'),
FieldPanel('body'),
]
class ContentPage(PersonalisablePageMixin, Page): class ContentPage(PersonalisablePageMixin, Page):
subtitle = models.CharField(max_length=255, blank=True, default='') subtitle = models.CharField(max_length=255, blank=True, default='')
body = RichTextField(blank=True, default='') body = RichTextField(blank=True, default='')

View File

@ -0,0 +1,7 @@
import pytest
@pytest.mark.django_db
def test_request_device_segment_no_match(client, site):
response = client.get('/regular/')
assert response.status_code == 200