Skip to content

Commit

Permalink
Add tests for the wagtail_hooks.serve_variaton
Browse files Browse the repository at this point in the history
  • Loading branch information
mvantellingen committed Jun 2, 2017
1 parent 35c22cb commit 282baa4
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 2 deletions.
6 changes: 4 additions & 2 deletions tests/fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@

@pytest.fixture(scope='function')
def site():
site = SiteFactory(is_default_site=True)
root_page = ContentPageFactory(parent=None, slug='')
site = SiteFactory(is_default_site=True, root_page=root_page)

page1 = ContentPageFactory(parent=site.root_page, slug='page-1')
page2 = ContentPageFactory(parent=site.root_page, slug='page-2')
ContentPageFactory(parent=page1, slug='page-1-1')
Expand All @@ -21,7 +23,7 @@ def site():

@pytest.fixture
def segmented_page(site):
page = ContentPageFactory(parent=site.root_page)
page = ContentPageFactory(parent=site.root_page, slug='personalised')
segment = SegmentFactory()
return page.personalisable_metadata.copy_for_segment(segment)

Expand Down
41 changes: 41 additions & 0 deletions tests/unit/test_wagtail_hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import pytest

from wagtail_personalisation import adapters, wagtail_hooks


@pytest.mark.django_db
def test_serve_variation_no_variant(site, rf):
page = site.root_page
request = rf.get('/')
args = tuple()
kwargs = {}

result = wagtail_hooks.serve_variation(page, request, args, kwargs)
assert result is None


@pytest.mark.django_db
def test_serve_variation_with_variant_no_segment(site, rf, segmented_page):
request = rf.get('/')
args = tuple()
kwargs = {}

page = segmented_page.personalisable_metadata.canonical_page
result = wagtail_hooks.serve_variation(page, request, args, kwargs)
assert result is None


@pytest.mark.django_db
def test_serve_variation_with_variant_segmented(site, rf, segmented_page):
request = rf.get('/')
args = tuple()
kwargs = {}

page = segmented_page.personalisable_metadata.canonical_page
segment = segmented_page.personalisable_metadata.segment

adapter = adapters.get_segment_adapter(request)
adapter.set_segments([segment])

result = wagtail_hooks.serve_variation(page, request, args, kwargs)
assert result.status_code == 200

0 comments on commit 282baa4

Please sign in to comment.