diff --git a/src/wagtail_personalisation/wagtail_hooks.py b/src/wagtail_personalisation/wagtail_hooks.py index ac76d6a..8f2e845 100644 --- a/src/wagtail_personalisation/wagtail_hooks.py +++ b/src/wagtail_personalisation/wagtail_hooks.py @@ -71,17 +71,18 @@ def serve_variation(page, request, serve_args, serve_kwargs): :rtype: wagtail.wagtailcore.models.Page """ + user_segments = [] + if not isinstance(page, PersonalisablePageMixin): + return + adapter = get_segment_adapter(request) user_segments = adapter.get_segments() if user_segments: variations = page.variants_for_segments(user_segments) - if variations: - variation = variations[0] - + variation = variations.first() impersonate_other_page(variation, page) - return variation.serve(request, *serve_args, **serve_kwargs) diff --git a/tests/unit/test_hooks.py b/tests/unit/test_hooks.py deleted file mode 100644 index 000a3ab..0000000 --- a/tests/unit/test_hooks.py +++ /dev/null @@ -1,12 +0,0 @@ -import pytest - -from wagtail_personalisation.models import Segment - - -@pytest.mark.django_db -def test_variants(segmented_page): - segments = Segment.objects.all() - page = segmented_page.canonical_page - - variations = page.variants_for_segments(segments) - assert variations