7

post-merge cleanups

This commit is contained in:
Paul J Stevens
2018-05-26 11:45:28 +02:00
parent 5536adc3ec
commit 9710d3b479
4 changed files with 23 additions and 57 deletions

View File

@ -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]

View File

@ -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

View File

@ -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 == []

View File

@ -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()