def test_exclude_variants_with_pages_querysets_meta_none(): ''' Test that excludes variant works for querysets with meta as none ''' for i in range(5): page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i)) page.save() pages = WagtailPage.objects.all().specific().order_by('id') # add variants for page in pages: page.personalisation_metadata = PersonalisablePageMetadataFactory( canonical_page=page, variant=page) page.save() pages = WagtailPage.objects.all().specific() result = exclude_variants(pages) assert type(result) == type(pages) assert set(result.values_list('pk', flat=True)) == set( pages.values_list('pk', flat=True))
def test_exclude_variants_with_pages_querysets_not_canonical(): ''' Test that excludes variant works for querysets with personalisation_metadata canonical False ''' for i in range(5): page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i)) page.save() pages = WagtailPage.objects.all().specific().order_by('id') # add variants for page in pages: variant = ContentPageFactory(title='variant %d' % page.pk) page.personalisation_metadata = PersonalisablePageMetadataFactory( canonical_page=page, variant=variant) page.save() pages = WagtailPage.objects.all().specific() result = exclude_variants(pages) assert type(result) == type(pages) assert result.count() < pages.count()