post-merge cleanups
This commit is contained in:
@ -199,11 +199,11 @@ class SessionSegmentsAdapter(BaseSegmentsAdapter):
|
|||||||
|
|
||||||
if result and segment.randomise_into_segment():
|
if result and segment.randomise_into_segment():
|
||||||
if segment.is_static and not segment.is_full:
|
if segment.is_static and not segment.is_full:
|
||||||
if self.request.user.is_authenticated():
|
if self.request.user.is_authenticated:
|
||||||
segment.static_users.add(self.request.user)
|
segment.static_users.add(self.request.user)
|
||||||
additional_segments.append(segment)
|
additional_segments.append(segment)
|
||||||
elif result:
|
elif result:
|
||||||
if segment.is_static and self.request.user.is_authenticated():
|
if segment.is_static and self.request.user.is_authenticated:
|
||||||
segment.excluded_users.add(self.request.user)
|
segment.excluded_users.add(self.request.user)
|
||||||
else:
|
else:
|
||||||
excluded_segments += [segment]
|
excluded_segments += [segment]
|
||||||
|
@ -10,7 +10,7 @@ from django.contrib.staticfiles.templatetags.staticfiles 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.wagtailadmin.forms import WagtailAdminModelForm
|
from wagtail.admin.forms import WagtailAdminModelForm
|
||||||
|
|
||||||
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
||||||
|
|
||||||
|
@ -1,59 +1,26 @@
|
|||||||
|
import pytest
|
||||||
|
from tests.factories.page import ContentPageFactory
|
||||||
from wagtail_personalisation.utils import (
|
from wagtail_personalisation.utils import (
|
||||||
exclude_variants, impersonate_other_page)
|
impersonate_other_page)
|
||||||
|
|
||||||
|
|
||||||
class Page(object):
|
@pytest.fixture
|
||||||
def __init__(self, path, depth, url_path, title):
|
def rootpage():
|
||||||
self.path = path
|
return ContentPageFactory(parent=None, path='/', depth=0, title='root')
|
||||||
self.depth = depth
|
|
||||||
self.url_path = url_path
|
|
||||||
self.title = title
|
|
||||||
|
|
||||||
def __eq__(self, other):
|
|
||||||
return self.__dict__ == other.__dict__
|
|
||||||
|
|
||||||
|
|
||||||
def test_impersonate_other_page():
|
@pytest.fixture
|
||||||
page = Page(path="/", depth=0, url_path="/", title="Hoi")
|
def page(rootpage):
|
||||||
other_page = Page(path="/other", depth=1, url_path="/other", title="Doei")
|
return ContentPageFactory(parent=rootpage, path='/hi', title='Hi')
|
||||||
|
|
||||||
impersonate_other_page(page, other_page)
|
|
||||||
|
|
||||||
assert page == other_page
|
|
||||||
|
|
||||||
|
|
||||||
class Metadata(object):
|
@pytest.fixture
|
||||||
def __init__(self, is_canonical=True):
|
def otherpage(rootpage):
|
||||||
self.is_canonical = is_canonical
|
return ContentPageFactory(parent=rootpage, path='/bye', title='Bye')
|
||||||
|
|
||||||
|
|
||||||
class PersonalisationMetadataPage(object):
|
@pytest.mark.django_db
|
||||||
def __init__(self):
|
def test_impersonate_other_page(page, otherpage):
|
||||||
self.personalisation_metadata = Metadata()
|
impersonate_other_page(page, otherpage)
|
||||||
|
assert page.title == otherpage.title == 'Bye'
|
||||||
|
assert page.path == otherpage.path
|
||||||
def test_exclude_variants_includes_pages_with_no_metadata_property():
|
|
||||||
page = PersonalisationMetadataPage()
|
|
||||||
del page.personalisation_metadata
|
|
||||||
result = exclude_variants([page])
|
|
||||||
assert result == [page]
|
|
||||||
|
|
||||||
|
|
||||||
def test_exclude_variants_includes_pages_with_metadata_none():
|
|
||||||
page = PersonalisationMetadataPage()
|
|
||||||
page.personalisation_metadata = None
|
|
||||||
result = exclude_variants([page])
|
|
||||||
assert result == [page]
|
|
||||||
|
|
||||||
|
|
||||||
def test_exclude_variants_includes_pages_with_metadata_canonical():
|
|
||||||
page = PersonalisationMetadataPage()
|
|
||||||
result = exclude_variants([page])
|
|
||||||
assert result == [page]
|
|
||||||
|
|
||||||
|
|
||||||
def test_exclude_variants_excludes_pages_with_metadata_not_canonical():
|
|
||||||
page = PersonalisationMetadataPage()
|
|
||||||
page.personalisation_metadata.is_canonical = False
|
|
||||||
result = exclude_variants([page])
|
|
||||||
assert result == []
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from django.contrib.auth.models import Permission
|
from django.contrib.auth.models import Permission
|
||||||
from django.core.urlresolvers import reverse
|
from django.urls import reverse
|
||||||
from wagtail_personalisation.models import Segment
|
from wagtail_personalisation.models import Segment
|
||||||
from wagtail_personalisation.rules import VisitCountRule
|
from wagtail_personalisation.rules import VisitCountRule
|
||||||
|
|
||||||
@ -25,9 +25,8 @@ def test_segment_user_data_view_requires_admin_access(site, client, django_user_
|
|||||||
def test_segment_user_data_view(site, client, mocker, django_user_model):
|
def test_segment_user_data_view(site, client, mocker, django_user_model):
|
||||||
user1 = django_user_model.objects.create(username='first')
|
user1 = django_user_model.objects.create(username='first')
|
||||||
user2 = django_user_model.objects.create(username='second')
|
user2 = django_user_model.objects.create(username='second')
|
||||||
admin_user = django_user_model.objects.create(username='admin')
|
admin_user = django_user_model.objects.create(
|
||||||
permission = Permission.objects.get(codename='access_admin')
|
username='admin', is_superuser=True)
|
||||||
admin_user.user_permissions.add(permission)
|
|
||||||
|
|
||||||
segment = Segment(type=Segment.TYPE_STATIC, count=1)
|
segment = Segment(type=Segment.TYPE_STATIC, count=1)
|
||||||
segment.save()
|
segment.save()
|
||||||
|
Reference in New Issue
Block a user