7
This repository has been archived on 2023-05-07. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cavemanon-wagtail-personali…/tests/fixtures.py
Michael van Tellingen 5aa754dd80 Rename PersonalisablePageMixin.personalisable_metadata
Use PersonalisablePageMixin.personalisation_metadata instead to mirror
the package name
2017-06-02 10:23:46 +02:00

45 lines
1.4 KiB
Python

import pytest
from django.contrib.auth.models import AnonymousUser
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
from tests.factories.segment import SegmentFactory
from tests.factories.site import SiteFactory
@pytest.fixture(scope='function')
def site():
root_page = ContentPageFactory(parent=None, slug='')
site = SiteFactory(is_default_site=True, root_page=root_page)
page1 = ContentPageFactory(parent=site.root_page, slug='page-1')
page2 = ContentPageFactory(parent=site.root_page, slug='page-2')
ContentPageFactory(parent=page1, slug='page-1-1')
ContentPageFactory(parent=page2, slug='page-2-1')
return site
@pytest.fixture
def segmented_page(site):
page = ContentPageFactory(parent=site.root_page, slug='personalised')
segment = SegmentFactory()
return page.personalisation_metadata.copy_for_segment(segment)
@pytest.fixture()
def rf():
"""RequestFactory instance"""
return RequestFactory()
class RequestFactory(BaseRequestFactory):
def request(self, user=None, **request):
request = super(RequestFactory, self).request(**request)
request.user = AnonymousUser()
request.session = SessionStore()
request._messages = FallbackStorage(request)
return request