diff --git a/src/wagtail_personalisation/wagtail_hooks.py b/src/wagtail_personalisation/wagtail_hooks.py index 6aa7aa5..e0cb204 100644 --- a/src/wagtail_personalisation/wagtail_hooks.py +++ b/src/wagtail_personalisation/wagtail_hooks.py @@ -117,7 +117,7 @@ def page_listing_more_buttons(page, page_perms, is_parent=False): if not isinstance(page, models.PersonalisablePageMixin): return - metadata = page.personalisable_metadata + metadata = page.personalisation_metadata for segment in metadata.get_unused_segments(): yield Button(segment.name, reverse('segment:copy_page', args=[page.pk, segment.pk]), diff --git a/tests/fixtures.py b/tests/fixtures.py index 4c9d121..03efbd9 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -19,7 +19,7 @@ def site(): ContentPageFactory(parent=page1, slug='page-1-1') ContentPageFactory(parent=page2, slug='page-2-1') - ContentPageFactory(parent=root_page, slug='regular') + RegularPageFactory(parent=root_page, slug='regular') return site diff --git a/tests/site/templates/pages/regular_page.html b/tests/site/templates/pages/regular_page.html new file mode 100644 index 0000000..94d9808 --- /dev/null +++ b/tests/site/templates/pages/regular_page.html @@ -0,0 +1 @@ +{% extends "base.html" %} diff --git a/tests/unit/test_wagtail_hooks.py b/tests/unit/test_wagtail_hooks.py index 94c88a5..55a2d92 100644 --- a/tests/unit/test_wagtail_hooks.py +++ b/tests/unit/test_wagtail_hooks.py @@ -1,5 +1,6 @@ import pytest +from tests.factories.segment import SegmentFactory from wagtail_personalisation import adapters, wagtail_hooks @@ -39,3 +40,23 @@ def test_serve_variation_with_variant_segmented(site, rf, segmented_page): result = wagtail_hooks.serve_variation(page, request, args, kwargs) assert result.status_code == 200 + + +@pytest.mark.django_db +def test_page_listing_variant_buttons(site, rf, segmented_page): + page = segmented_page.personalisation_metadata.canonical_page + + SegmentFactory(name='something') + result = wagtail_hooks.page_listing_variant_buttons(page, []) + items = list(result) + assert len(items) == 1 + + +@pytest.mark.django_db +def test_page_listing_more_buttons(site, rf, segmented_page): + page = segmented_page.personalisation_metadata.canonical_page + + SegmentFactory(name='something') + result = wagtail_hooks.page_listing_more_buttons(page, []) + items = list(result) + assert len(items) == 2