8

Make changes backwards compatible

This commit is contained in:
Marcel Hekking
2020-11-25 12:08:42 +01:00
parent d074ef85b9
commit ffd839159b
6 changed files with 47 additions and 17 deletions

View File

@@ -19,7 +19,7 @@ tests_require = [
'pytest-django==3.1.2',
'pytest-pythonpath==0.7.2',
'pytest-sugar==0.9.1',
'pytest==3.4.2',
'pytest==6.1.2',
'wagtail_factories==1.1.0',
'pytest-mock==1.6.3',
]

View File

@@ -11,7 +11,12 @@ from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from wagtail.admin import messages
from wagtail.admin.site_summary import PagesSummaryItem, SummaryItem
try:
from wagtail.admin.views.pages.utils import get_valid_next_url_from_request
except ModuleNotFoundError:
from wagtail.admin.views.pages import get_valid_next_url_from_request # noqa
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook
from wagtail.core import hooks
from wagtail.core.models import Page
@@ -23,6 +28,8 @@ from wagtail_personalisation.models import PersonalisablePageMetadata
logger = logging.getLogger(__name__)
@hooks.register('register_admin_urls')
def register_admin_urls():
"""Adds the administration urls for the personalisation apps."""

View File

@@ -2,18 +2,21 @@ from __future__ import absolute_import, unicode_literals
import factory
from django.utils.text import slugify
from wagtail.core.models import Locale
from wagtail_factories.factories import PageFactory
from tests.site.pages import models
from wagtail_personalisation.models import PersonalisablePageMetadata
try:
from wagtail.core.models import Locale
class LocaleFactory(factory.django.DjangoModelFactory):
language_code = "en"
class Meta:
model = Locale
except ImportError:
pass
class ContentPageFactory(PageFactory):
parent = None

View File

@@ -4,14 +4,18 @@ from django.contrib.messages.storage.fallback import FallbackStorage
from django.contrib.sessions.backends.db import SessionStore
from django.test.client import RequestFactory as BaseRequestFactory
from tests.factories.page import ContentPageFactory, LocaleFactory, RegularPageFactory
from tests.factories.page import ContentPageFactory, RegularPageFactory
from tests.factories.segment import SegmentFactory
from tests.factories.site import SiteFactory
@pytest.fixture(scope='function')
def site():
try:
from tests.factories.page import LocaleFactory
LocaleFactory()
except ImportError:
pass
root_page = ContentPageFactory(parent=None, slug='')
site = SiteFactory(is_default_site=True, root_page=root_page)

View File

@@ -3,7 +3,7 @@ import datetime
import pytest
from django.db.models import ProtectedError
from tests.factories.page import ContentPageFactory, LocaleFactory
from tests.factories.page import ContentPageFactory
from tests.factories.segment import SegmentFactory
from tests.site.pages import models
from wagtail_personalisation.models import PersonalisablePageMetadata, Segment
@@ -31,7 +31,11 @@ def test_metadata_page_has_variants(segmented_page):
@pytest.mark.django_db
def test_content_page_model():
try:
from tests.factories.page import LocaleFactory
LocaleFactory()
except ImportError:
pass
page = ContentPageFactory()
qs = models.ContentPage.objects.all()
assert page in qs

View File

@@ -2,14 +2,23 @@ import pytest
from django.test import override_settings
from wagtail.core.models import Page as WagtailPage
from tests.factories.page import (
ContentPageFactory, LocaleFactory, PersonalisablePageMetadataFactory)
from tests.factories.page import (ContentPageFactory, PersonalisablePageMetadataFactory)
from wagtail_personalisation.utils import (
can_delete_pages, exclude_variants, get_client_ip, impersonate_other_page)
locale_factory = False
try:
from tests.factories.page import LocaleFactory
locale_factory = True
except ImportError:
pass
@pytest.fixture
def rootpage():
if locale_factory:
LocaleFactory()
return ContentPageFactory(parent=None, path='/', depth=0, title='root')
@@ -72,6 +81,7 @@ def test_exclude_variants_with_pages_querysets():
'''
Test that excludes variant works for querysets
'''
if locale_factory:
LocaleFactory()
for i in range(5):
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
@@ -88,6 +98,7 @@ def test_exclude_variants_with_pages_querysets_not_canonical():
Test that excludes variant works for querysets with
personalisation_metadata canonical False
'''
if locale_factory:
LocaleFactory()
for i in range(5):
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
@@ -109,6 +120,7 @@ def test_exclude_variants_with_pages_querysets_meta_none():
'''
Test that excludes variant works for querysets with meta as none
'''
if locale_factory:
LocaleFactory()
for i in range(5):
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))