Make compatible with latest Wagtail version (2.11.2)
This commit is contained in:
@ -79,7 +79,7 @@ MIDDLEWARE = [
|
|||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
|
||||||
'wagtail.core.middleware.SiteMiddleware',
|
'tail.contrib.legacy.sitemiddleware.SiteMiddleware',
|
||||||
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
|
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -162,3 +162,12 @@ BASE_URL = 'http://example.com'
|
|||||||
|
|
||||||
|
|
||||||
INTERNAL_IPS = ['127.0.0.1']
|
INTERNAL_IPS = ['127.0.0.1']
|
||||||
|
|
||||||
|
|
||||||
|
# Wagtail
|
||||||
|
WAGTAIL_I18N_ENABLED = True
|
||||||
|
|
||||||
|
WAGTAIL_CONTENT_LANGUAGES = LANGUAGES = [
|
||||||
|
("en", "English"),
|
||||||
|
("nl", "Dutch"),
|
||||||
|
]
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import functools
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
from django.contrib.staticfiles.templatetags.staticfiles import static
|
from django.templatetags.static import static
|
||||||
from django.test.client import RequestFactory
|
from django.test.client import RequestFactory
|
||||||
from django.utils.lru_cache import lru_cache
|
# from django.utils.lru_cache import lru_cache
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from wagtail.admin.forms import WagtailAdminModelForm
|
from wagtail.admin.forms import WagtailAdminModelForm
|
||||||
|
|
||||||
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
||||||
|
|
||||||
|
|
||||||
@lru_cache(maxsize=1000)
|
@functools.lru_cache(maxsize=1000)
|
||||||
def user_from_data(user_id):
|
def user_from_data(user_id):
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
try:
|
try:
|
||||||
|
@ -11,7 +11,7 @@ from django.utils.safestring import mark_safe
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from wagtail.admin import messages
|
from wagtail.admin import messages
|
||||||
from wagtail.admin.site_summary import PagesSummaryItem, SummaryItem
|
from wagtail.admin.site_summary import PagesSummaryItem, SummaryItem
|
||||||
from wagtail.admin.views.pages import get_valid_next_url_from_request
|
from wagtail.admin.views.pages.utils import get_valid_next_url_from_request
|
||||||
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook
|
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook
|
||||||
from wagtail.core import hooks
|
from wagtail.core import hooks
|
||||||
from wagtail.core.models import Page
|
from wagtail.core.models import Page
|
||||||
|
@ -2,12 +2,19 @@ from __future__ import absolute_import, unicode_literals
|
|||||||
|
|
||||||
import factory
|
import factory
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
|
from wagtail.core.models import Locale
|
||||||
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
|
from wagtail_personalisation.models import PersonalisablePageMetadata
|
||||||
|
|
||||||
|
|
||||||
|
class LocaleFactory(factory.django.DjangoModelFactory):
|
||||||
|
language_code = "en"
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Locale
|
||||||
|
|
||||||
class ContentPageFactory(PageFactory):
|
class ContentPageFactory(PageFactory):
|
||||||
parent = None
|
parent = None
|
||||||
title = 'Test page'
|
title = 'Test page'
|
||||||
|
@ -4,13 +4,14 @@ from django.contrib.messages.storage.fallback import FallbackStorage
|
|||||||
from django.contrib.sessions.backends.db import SessionStore
|
from django.contrib.sessions.backends.db import SessionStore
|
||||||
from django.test.client import RequestFactory as BaseRequestFactory
|
from django.test.client import RequestFactory as BaseRequestFactory
|
||||||
|
|
||||||
from tests.factories.page import ContentPageFactory, RegularPageFactory
|
from tests.factories.page import ContentPageFactory, LocaleFactory, RegularPageFactory
|
||||||
from tests.factories.segment import SegmentFactory
|
from tests.factories.segment import SegmentFactory
|
||||||
from tests.factories.site import SiteFactory
|
from tests.factories.site import SiteFactory
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='function')
|
@pytest.fixture(scope='function')
|
||||||
def site():
|
def site():
|
||||||
|
LocaleFactory()
|
||||||
root_page = ContentPageFactory(parent=None, slug='')
|
root_page = ContentPageFactory(parent=None, slug='')
|
||||||
site = SiteFactory(is_default_site=True, root_page=root_page)
|
site = SiteFactory(is_default_site=True, root_page=root_page)
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ MIDDLEWARE = (
|
|||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
|
||||||
'wagtail.core.middleware.SiteMiddleware',
|
'wagtail.contrib.legacy.sitemiddleware.SiteMiddleware',
|
||||||
)
|
)
|
||||||
|
|
||||||
INSTALLED_APPS = (
|
INSTALLED_APPS = (
|
||||||
@ -91,3 +91,18 @@ PASSWORD_HASHERS = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
WAGTAIL_SITE_NAME = 'wagtail-personalisation test'
|
WAGTAIL_SITE_NAME = 'wagtail-personalisation test'
|
||||||
|
|
||||||
|
|
||||||
|
# LANGUAGE_CODE = "en"
|
||||||
|
# TIME_ZONE = "UTC"
|
||||||
|
# USE_I18N = True
|
||||||
|
# USE_L10N = True
|
||||||
|
# USE_TZ = True
|
||||||
|
|
||||||
|
# # Wagtail
|
||||||
|
# WAGTAIL_I18N_ENABLED = True
|
||||||
|
|
||||||
|
# WAGTAIL_CONTENT_LANGUAGES = LANGUAGES = [
|
||||||
|
# ("en", "English"),
|
||||||
|
# ("nl", "Dutch"),
|
||||||
|
# ]
|
||||||
|
@ -3,7 +3,7 @@ import datetime
|
|||||||
import pytest
|
import pytest
|
||||||
from django.db.models import ProtectedError
|
from django.db.models import ProtectedError
|
||||||
|
|
||||||
from tests.factories.page import ContentPageFactory
|
from tests.factories.page import ContentPageFactory, LocaleFactory
|
||||||
from tests.factories.segment import SegmentFactory
|
from tests.factories.segment import SegmentFactory
|
||||||
from tests.site.pages import models
|
from tests.site.pages import models
|
||||||
from wagtail_personalisation.models import PersonalisablePageMetadata, Segment
|
from wagtail_personalisation.models import PersonalisablePageMetadata, Segment
|
||||||
@ -31,6 +31,7 @@ def test_metadata_page_has_variants(segmented_page):
|
|||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_content_page_model():
|
def test_content_page_model():
|
||||||
|
LocaleFactory()
|
||||||
page = ContentPageFactory()
|
page = ContentPageFactory()
|
||||||
qs = models.ContentPage.objects.all()
|
qs = models.ContentPage.objects.all()
|
||||||
assert page in qs
|
assert page in qs
|
||||||
@ -76,5 +77,5 @@ def test_sitemap_generation_for_variants_is_disabled(segmented_page):
|
|||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_segment_edit_view(site, client, django_user_model):
|
def test_segment_edit_view(site, client, django_user_model):
|
||||||
test_segment = SegmentFactory()
|
test_segment = SegmentFactory()
|
||||||
new_panel = test_segment.panels[1].children[0].bind_to_model(Segment)
|
new_panel = test_segment.panels[1].children[0].bind_to(model=Segment)
|
||||||
assert new_panel.related.name == "wagtail_personalisation_timerules"
|
assert new_panel.related.name == "wagtail_personalisation_timerules"
|
||||||
|
@ -3,13 +3,14 @@ from django.test import override_settings
|
|||||||
from wagtail.core.models import Page as WagtailPage
|
from wagtail.core.models import Page as WagtailPage
|
||||||
|
|
||||||
from tests.factories.page import (
|
from tests.factories.page import (
|
||||||
ContentPageFactory, PersonalisablePageMetadataFactory)
|
ContentPageFactory, LocaleFactory, PersonalisablePageMetadataFactory)
|
||||||
from wagtail_personalisation.utils import (
|
from wagtail_personalisation.utils import (
|
||||||
can_delete_pages, exclude_variants, get_client_ip, impersonate_other_page)
|
can_delete_pages, exclude_variants, get_client_ip, impersonate_other_page)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def rootpage():
|
def rootpage():
|
||||||
|
LocaleFactory()
|
||||||
return ContentPageFactory(parent=None, path='/', depth=0, title='root')
|
return ContentPageFactory(parent=None, path='/', depth=0, title='root')
|
||||||
|
|
||||||
|
|
||||||
@ -71,6 +72,7 @@ def test_exclude_variants_with_pages_querysets():
|
|||||||
'''
|
'''
|
||||||
Test that excludes variant works for querysets
|
Test that excludes variant works for querysets
|
||||||
'''
|
'''
|
||||||
|
LocaleFactory()
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
page = ContentPageFactory(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()
|
||||||
@ -86,6 +88,7 @@ def test_exclude_variants_with_pages_querysets_not_canonical():
|
|||||||
Test that excludes variant works for querysets with
|
Test that excludes variant works for querysets with
|
||||||
personalisation_metadata canonical False
|
personalisation_metadata canonical False
|
||||||
'''
|
'''
|
||||||
|
LocaleFactory()
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
page = ContentPageFactory(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()
|
||||||
@ -106,6 +109,7 @@ 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
|
||||||
'''
|
'''
|
||||||
|
LocaleFactory()
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
page = ContentPageFactory(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()
|
||||||
|
Reference in New Issue
Block a user