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.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
|
||||
'wagtail.core.middleware.SiteMiddleware',
|
||||
'tail.contrib.legacy.sitemiddleware.SiteMiddleware',
|
||||
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
|
||||
]
|
||||
|
||||
@ -162,3 +162,12 @@ BASE_URL = 'http://example.com'
|
||||
|
||||
|
||||
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
|
||||
import functools
|
||||
from importlib import import_module
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import get_user_model
|
||||
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.utils.lru_cache import lru_cache
|
||||
# from django.utils.lru_cache import lru_cache
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from wagtail.admin.forms import WagtailAdminModelForm
|
||||
|
||||
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
||||
|
||||
|
||||
@lru_cache(maxsize=1000)
|
||||
@functools.lru_cache(maxsize=1000)
|
||||
def user_from_data(user_id):
|
||||
User = get_user_model()
|
||||
try:
|
||||
|
@ -11,7 +11,7 @@ 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
|
||||
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.core import hooks
|
||||
from wagtail.core.models import Page
|
||||
|
@ -2,12 +2,19 @@ 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
|
||||
|
||||
|
||||
class LocaleFactory(factory.django.DjangoModelFactory):
|
||||
language_code = "en"
|
||||
|
||||
class Meta:
|
||||
model = Locale
|
||||
|
||||
class ContentPageFactory(PageFactory):
|
||||
parent = None
|
||||
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.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.site import SiteFactory
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def site():
|
||||
LocaleFactory()
|
||||
root_page = ContentPageFactory(parent=None, slug='')
|
||||
site = SiteFactory(is_default_site=True, root_page=root_page)
|
||||
|
||||
|
@ -59,7 +59,7 @@ MIDDLEWARE = (
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
|
||||
'wagtail.core.middleware.SiteMiddleware',
|
||||
'wagtail.contrib.legacy.sitemiddleware.SiteMiddleware',
|
||||
)
|
||||
|
||||
INSTALLED_APPS = (
|
||||
@ -91,3 +91,18 @@ PASSWORD_HASHERS = (
|
||||
)
|
||||
|
||||
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
|
||||
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.site.pages import models
|
||||
from wagtail_personalisation.models import PersonalisablePageMetadata, Segment
|
||||
@ -31,6 +31,7 @@ def test_metadata_page_has_variants(segmented_page):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_content_page_model():
|
||||
LocaleFactory()
|
||||
page = ContentPageFactory()
|
||||
qs = models.ContentPage.objects.all()
|
||||
assert page in qs
|
||||
@ -76,5 +77,5 @@ def test_sitemap_generation_for_variants_is_disabled(segmented_page):
|
||||
@pytest.mark.django_db
|
||||
def test_segment_edit_view(site, client, django_user_model):
|
||||
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"
|
||||
|
@ -3,13 +3,14 @@ from django.test import override_settings
|
||||
from wagtail.core.models import Page as WagtailPage
|
||||
|
||||
from tests.factories.page import (
|
||||
ContentPageFactory, PersonalisablePageMetadataFactory)
|
||||
ContentPageFactory, LocaleFactory, PersonalisablePageMetadataFactory)
|
||||
from wagtail_personalisation.utils import (
|
||||
can_delete_pages, exclude_variants, get_client_ip, impersonate_other_page)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def rootpage():
|
||||
LocaleFactory()
|
||||
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
|
||||
'''
|
||||
LocaleFactory()
|
||||
for i in range(5):
|
||||
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
||||
page.save()
|
||||
@ -86,6 +88,7 @@ def test_exclude_variants_with_pages_querysets_not_canonical():
|
||||
Test that excludes variant works for querysets with
|
||||
personalisation_metadata canonical False
|
||||
'''
|
||||
LocaleFactory()
|
||||
for i in range(5):
|
||||
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
||||
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
|
||||
'''
|
||||
LocaleFactory()
|
||||
for i in range(5):
|
||||
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
||||
page.save()
|
||||
|
Reference in New Issue
Block a user