7

update testcode

run isort
This commit is contained in:
Paul J Stevens
2019-03-15 12:32:43 +01:00
parent 585cb0b16a
commit 69a4514129
9 changed files with 30 additions and 29 deletions

View File

@ -1,7 +1,7 @@
# Generated by Django 2.0.7 on 2018-07-04 15:26 # Generated by Django 2.0.7 on 2018-07-04 15:26
from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):

View File

@ -1,7 +1,7 @@
# Generated by Django 2.0.5 on 2018-07-19 09:57 # Generated by Django 2.0.5 on 2018-07-19 09:57
from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):

View File

@ -1,8 +1,8 @@
# Generated by Django 2.0.6 on 2018-08-10 14:39 # Generated by Django 2.0.6 on 2018-08-10 14:39
from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import modelcluster.fields import modelcluster.fields
from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):

View File

@ -1,5 +1,4 @@
import logging import logging
import re import re
from importlib import import_module from importlib import import_module

View File

@ -5,6 +5,7 @@ from django.utils.text import slugify
from wagtail_factories.factories import PageFactory from wagtail_factories.factories import PageFactory
from tests.site.pages import models from tests.site.pages import models
from wagtail_personalisation.models import PersonalisablePageMetadata
class ContentPageFactory(PageFactory): class ContentPageFactory(PageFactory):
@ -22,3 +23,9 @@ class RegularPageFactory(PageFactory):
class Meta: class Meta:
model = models.RegularPage model = models.RegularPage
class PersonalisablePageMetadataFactory(factory.DjangoModelFactory):
class Meta:
model = PersonalisablePageMetadata

View File

@ -1,5 +1,5 @@
from importlib.util import find_spec from importlib.util import find_spec
from unittest.mock import call, MagicMock, patch from unittest.mock import MagicMock, call, patch
import pytest import pytest
@ -7,7 +7,6 @@ from tests.factories.rule import OriginCountryRuleFactory
from tests.factories.segment import SegmentFactory from tests.factories.segment import SegmentFactory
from wagtail_personalisation.rules import get_geoip_module from wagtail_personalisation.rules import get_geoip_module
skip_if_geoip2_installed = pytest.mark.skipif( skip_if_geoip2_installed = pytest.mark.skipif(
find_spec('geoip2'), reason='requires GeoIP2 to be not installed' find_spec('geoip2'), reason='requires GeoIP2 to be not installed'
) )

View File

@ -1,16 +1,11 @@
import pytest import pytest
from django.test import override_settings from django.test import override_settings
from tests.factories.page import ContentPageFactory
from wagtail.core.models import Page as WagtailPage from wagtail.core.models import Page as WagtailPage
from tests.factories.page import (
ContentPageFactory, PersonalisablePageMetadataFactory)
from wagtail_personalisation.utils import ( from wagtail_personalisation.utils import (
can_delete_pages, get_client_ip, impersonate_other_page, exclude_variants) can_delete_pages, exclude_variants, get_client_ip, impersonate_other_page)
class Metadata:
def __init__(self, is_canonical=True):
self.is_canonical = is_canonical
@pytest.fixture @pytest.fixture
@ -77,13 +72,13 @@ def test_exclude_variants_with_pages_querysets():
Test that excludes variant works for querysets Test that excludes variant works for querysets
''' '''
for i in range(5): for i in range(5):
page = WagtailPage(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i)) page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
page.save() page.save()
pages = WagtailPage.objects.all().order_by('id') pages = WagtailPage.objects.all().specific().order_by('id')
result = exclude_variants(pages) result = exclude_variants(pages)
assert type(result) == type(pages) assert type(result) == type(pages)
assert result == 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(): def test_exclude_variants_with_pages_querysets_not_canonical():
@ -92,17 +87,19 @@ def test_exclude_variants_with_pages_querysets_not_canonical():
personalisation_metadata canonical False personalisation_metadata canonical False
''' '''
for i in range(5): for i in range(5):
page = WagtailPage(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i)) page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
page.save() page.save()
pages = WagtailPage.objects.all().order_by('id') pages = WagtailPage.objects.all().specific().order_by('id')
# add variants # add variants
for page in pages: for page in pages:
page.personalisation_metadata = Metadata(is_canonical=False) variant = ContentPageFactory(title='variant %d' % page.pk)
page.personalisation_metadata = PersonalisablePageMetadataFactory(canonical_page=page, variant=variant)
page.save() page.save()
pages = WagtailPage.objects.all().specific()
result = exclude_variants(pages) result = exclude_variants(pages)
assert type(result) == type(pages) assert type(result) == type(pages)
assert result.count() == 0 assert result.count() < pages.count()
def test_exclude_variants_with_pages_querysets_meta_none(): def test_exclude_variants_with_pages_querysets_meta_none():
@ -110,14 +107,15 @@ def test_exclude_variants_with_pages_querysets_meta_none():
Test that excludes variant works for querysets with meta as none Test that excludes variant works for querysets with meta as none
''' '''
for i in range(5): for i in range(5):
page = WagtailPage(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i)) page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
page.save() page.save()
pages = WagtailPage.objects.all().order_by('id') pages = WagtailPage.objects.all().specific().order_by('id')
# add variants # add variants
for page in pages: for page in pages:
page.personalisation_metadata = None page.personalisation_metadata = PersonalisablePageMetadataFactory(canonical_page=page, variant=page)
page.save() page.save()
pages = WagtailPage.objects.all().specific()
result = exclude_variants(pages) result = exclude_variants(pages)
assert type(result) == type(pages) assert type(result) == type(pages)
assert result == pages assert set(result.values_list('pk', flat=True)) == set(pages.values_list('pk', flat=True))

View File

@ -6,7 +6,7 @@ from wagtail.core.models import Page
from wagtail_personalisation.models import Segment from wagtail_personalisation.models import Segment
from wagtail_personalisation.rules import VisitCountRule from wagtail_personalisation.rules import VisitCountRule
from wagtail_personalisation.views import ( from wagtail_personalisation.views import (
SegmentModelDeleteView, SegmentModelAdmin) SegmentModelAdmin, SegmentModelDeleteView)
@pytest.mark.django_db @pytest.mark.django_db

View File

@ -1,7 +1,5 @@
import pytest import pytest
from django.http import Http404 from django.http import Http404
from wagtail.core.models import Page from wagtail.core.models import Page
from tests.factories.segment import SegmentFactory from tests.factories.segment import SegmentFactory