|
3 | 3 | from django.core.paginator import Page as PaginatorPage
|
4 | 4 |
|
5 | 5 | from wagtail.coreutils import get_dummy_request
|
6 |
| -from wagtail.models import PageViewRestriction |
| 6 | +from wagtail.models import PageViewRestriction, Site |
7 | 7 | from wagtail.test.utils import WagtailPageTestCase
|
8 | 8 |
|
9 | 9 | from faker import Faker
|
10 |
| -from wagtail_factories import PageFactory |
11 | 10 |
|
12 | 11 | from tbx.blog.factories import BlogIndexPageFactory, BlogPageFactory
|
13 | 12 | from tbx.blog.models import BlogPage
|
| 13 | +from tbx.core.factories import HomePageFactory |
14 | 14 | from tbx.divisions.factories import DivisionPageFactory
|
15 | 15 | from tbx.taxonomy.factories import SectorFactory, ServiceFactory
|
16 | 16 |
|
@@ -64,29 +64,28 @@ def test_create(self):
|
64 | 64 | self.assertEqual(another_blog_post.related_services.count(), 3)
|
65 | 65 | self.assertEqual(another_blog_post.related_sectors.count(), 2)
|
66 | 66 |
|
67 |
| - def test_related_blog_posts_same_division(self): |
68 |
| - sector = SectorFactory.create() |
69 |
| - # The logic of `final_division` skips ancestors with depth <= 2, |
70 |
| - # So we create the division page with enough parents to be at depth 3: |
71 |
| - division = DivisionPageFactory.create(parent=PageFactory(parent=PageFactory())) |
72 |
| - blog_post = BlogPageFactory(division=division, related_sectors=[sector]) |
73 |
| - BlogPageFactory(title="same sector", division=None, related_sectors=[sector]) |
74 |
| - BlogPageFactory( |
75 |
| - title="same division (direct)", division=division, related_sectors=[] |
76 |
| - ) |
77 |
| - BlogPageFactory( |
78 |
| - title="same division (direct) same sector", |
79 |
| - division=division, |
80 |
| - related_sectors=[sector], |
81 |
| - ) |
82 |
| - BlogPageFactory(title="same division (parent)", parent=division) |
| 67 | + |
| 68 | +class TestBlogPage(WagtailPageTestCase): |
| 69 | + def test_related_blog_posts(self): |
| 70 | + site = Site.objects.get(is_default_site=True) |
| 71 | + root = site.root_page.specific |
| 72 | + homepage = HomePageFactory(parent=root) |
| 73 | + division = DivisionPageFactory(parent=homepage, title="Charity") |
| 74 | + blog_index = BlogIndexPageFactory(parent=division) |
| 75 | + |
| 76 | + other_division = DivisionPageFactory(parent=homepage, title="Public") |
| 77 | + other_index = BlogIndexPageFactory(parent=other_division) |
| 78 | + BlogPageFactory(parent=other_index) |
| 79 | + |
| 80 | + blog_post = BlogPageFactory(parent=blog_index, title="Blog Post 1") |
| 81 | + BlogPageFactory(parent=blog_index, title="Blog Post 2") |
| 82 | + BlogPageFactory(parent=blog_index, title="Blog Post 3") |
83 | 83 |
|
84 | 84 | self.assertQuerySetEqual(
|
85 | 85 | blog_post.related_blog_posts,
|
86 | 86 | [
|
87 |
| - "same division (direct)", |
88 |
| - "same division (direct) same sector", |
89 |
| - "same division (parent)", |
| 87 | + "Blog Post 2", |
| 88 | + "Blog Post 3", |
90 | 89 | ],
|
91 | 90 | transform=attrgetter("title"),
|
92 | 91 | ordered=False,
|
|
0 commit comments