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/unit/test_utils.py
2018-01-08 09:08:11 +00:00

60 lines
1.6 KiB
Python

from wagtail_personalisation.utils import (
exclude_variants, impersonate_other_page)
class Page(object):
def __init__(self, path, depth, url_path, title):
self.path = path
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():
page = Page(path="/", depth=0, url_path="/", title="Hoi")
other_page = Page(path="/other", depth=1, url_path="/other", title="Doei")
impersonate_other_page(page, other_page)
assert page == other_page
class Metadata(object):
def __init__(self, is_canonical=True):
self.is_canonical = is_canonical
class PersonalisationMetadataPage(object):
def __init__(self):
self.personalisation_metadata = Metadata()
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 == []