|
@@ -4,6 +4,7 @@ import json
|
|
|
|
|
|
from django.contrib.auth import get_user_model
|
|
|
from django.contrib.auth.models import Group, Permission
|
|
|
+from django.test.utils import override_settings
|
|
|
from django.urls import reverse
|
|
|
from django.utils import timezone
|
|
|
|
|
@@ -37,6 +38,9 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
def get_page_id_list(self, content):
|
|
|
return [page["id"] for page in content["items"]]
|
|
|
|
|
|
+ def get_homepage(self):
|
|
|
+ return Page.objects.get(slug="home-page")
|
|
|
+
|
|
|
|
|
|
|
|
|
def test_basic(self):
|
|
@@ -439,7 +443,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
def test_fields_translations(self):
|
|
|
|
|
|
french = Locale.objects.create(language_code="fr")
|
|
|
- homepage = Page.objects.get(depth=2)
|
|
|
+ homepage = self.get_homepage()
|
|
|
french_homepage = homepage.copy_for_translation(french)
|
|
|
|
|
|
response = self.get_response(fields="translations")
|
|
@@ -474,7 +478,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
content = json.loads(response.content.decode("UTF-8"))
|
|
|
|
|
|
page_id_list = self.get_page_id_list(content)
|
|
|
- self.assertEqual(page_id_list, [2])
|
|
|
+ self.assertEqual(page_id_list, [2, 24])
|
|
|
|
|
|
def test_child_of_page_1(self):
|
|
|
|
|
@@ -495,7 +499,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
page_id_list = self.get_page_id_list(content)
|
|
|
self.assertEqual(
|
|
|
page_id_list,
|
|
|
- [2, 4, 8, 9, 5, 16, 18, 19, 6, 10, 15, 17, 21, 22, 23, 20, 13, 14, 12],
|
|
|
+ [2, 4, 8, 9, 5, 16, 18, 19, 6, 10, 15, 17, 21, 22, 23, 20, 13, 14, 12, 24],
|
|
|
)
|
|
|
|
|
|
def test_descendant_of_root_doesnt_give_error(self):
|
|
@@ -569,7 +573,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
content = json.loads(response.content.decode("UTF-8"))
|
|
|
|
|
|
page_id_list = self.get_page_id_list(content)
|
|
|
- self.assertEqual(page_id_list, [2, 4, 5, 6, 21, 20])
|
|
|
+ self.assertEqual(page_id_list, [2, 4, 5, 6, 21, 20, 24])
|
|
|
|
|
|
def test_has_children_filter_off(self):
|
|
|
response = self.get_response(has_children="false")
|
|
@@ -577,7 +581,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
|
|
|
page_id_list = self.get_page_id_list(content)
|
|
|
self.assertEqual(
|
|
|
- page_id_list, [8, 9, 16, 18, 19, 10, 15, 17, 22, 23, 13, 14, 12]
|
|
|
+ page_id_list, [8, 9, 16, 18, 19, 10, 15, 17, 22, 23, 13, 14, 12, 25]
|
|
|
)
|
|
|
|
|
|
def test_has_children_filter_int(self):
|
|
@@ -585,7 +589,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
content = json.loads(response.content.decode("UTF-8"))
|
|
|
|
|
|
page_id_list = self.get_page_id_list(content)
|
|
|
- self.assertEqual(page_id_list, [2, 4, 5, 6, 21, 20])
|
|
|
+ self.assertEqual(page_id_list, [2, 4, 5, 6, 21, 20, 24])
|
|
|
|
|
|
def test_has_children_filter_int_off(self):
|
|
|
response = self.get_response(has_children=0)
|
|
@@ -593,7 +597,7 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
|
|
|
page_id_list = self.get_page_id_list(content)
|
|
|
self.assertEqual(
|
|
|
- page_id_list, [8, 9, 16, 18, 19, 10, 15, 17, 22, 23, 13, 14, 12]
|
|
|
+ page_id_list, [8, 9, 16, 18, 19, 10, 15, 17, 22, 23, 13, 14, 12, 25]
|
|
|
)
|
|
|
|
|
|
def test_has_children_filter_invalid_integer(self):
|
|
@@ -649,6 +653,77 @@ class TestAdminPageListing(AdminAPITestCase, TestPageListing):
|
|
|
self.assertTrue(blog_page_seen, "No blog pages were found in the items")
|
|
|
self.assertTrue(event_page_seen, "No event pages were found in the items")
|
|
|
|
|
|
+
|
|
|
+ test_site_filter_same_hostname_returns_error = None
|
|
|
+ test_site_filter = None
|
|
|
+
|
|
|
+ def test_ordering_default(self):
|
|
|
+
|
|
|
+
|
|
|
+ response = self.get_response()
|
|
|
+ content = json.loads(response.content.decode("UTF-8"))
|
|
|
+
|
|
|
+ page_id_list = self.get_page_id_list(content)
|
|
|
+ self.assertEqual(
|
|
|
+ page_id_list,
|
|
|
+ [2, 4, 8, 9, 5, 16, 18, 19, 6, 10, 15, 17, 21, 22, 23, 20, 13, 14, 12, 24],
|
|
|
+ )
|
|
|
+
|
|
|
+ def test_ordering_by_title(self):
|
|
|
+
|
|
|
+
|
|
|
+ response = self.get_response(order="title")
|
|
|
+ content = json.loads(response.content.decode("UTF-8"))
|
|
|
+
|
|
|
+ page_id_list = self.get_page_id_list(content)
|
|
|
+ self.assertEqual(
|
|
|
+ page_id_list,
|
|
|
+ [21, 22, 19, 23, 5, 16, 18, 12, 14, 8, 9, 4, 25, 2, 24, 13, 20, 17, 6, 10],
|
|
|
+ )
|
|
|
+
|
|
|
+ def test_ordering_by_title_backwards(self):
|
|
|
+
|
|
|
+
|
|
|
+ response = self.get_response(order="-title")
|
|
|
+ content = json.loads(response.content.decode("UTF-8"))
|
|
|
+
|
|
|
+ page_id_list = self.get_page_id_list(content)
|
|
|
+ self.assertEqual(
|
|
|
+ page_id_list,
|
|
|
+ [15, 10, 6, 17, 20, 13, 24, 2, 25, 4, 9, 8, 14, 12, 18, 16, 5, 23, 19, 22],
|
|
|
+ )
|
|
|
+
|
|
|
+ def test_limit_total_count(self):
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ response = self.get_response(limit=2)
|
|
|
+ content = json.loads(response.content.decode("UTF-8"))
|
|
|
+
|
|
|
+
|
|
|
+ self.assertEqual(content["meta"]["total_count"], get_total_page_count())
|
|
|
+
|
|
|
+ def test_offset_total_count(self):
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ response = self.get_response(offset=10)
|
|
|
+ content = json.loads(response.content.decode("UTF-8"))
|
|
|
+
|
|
|
+
|
|
|
+ self.assertEqual(content["meta"]["total_count"], get_total_page_count())
|
|
|
+
|
|
|
+ @override_settings(WAGTAILAPI_LIMIT_MAX=None)
|
|
|
+ def test_limit_max_none_gives_no_errors(self):
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ response = self.get_response(limit=1000000)
|
|
|
+ content = json.loads(response.content.decode("UTF-8"))
|
|
|
+
|
|
|
+ self.assertEqual(response.status_code, 200)
|
|
|
+ self.assertEqual(len(content["items"]), get_total_page_count())
|
|
|
+
|
|
|
|
|
|
class TestAdminPageDetail(AdminAPITestCase, TestPageDetail):
|
|
|
fixtures = ["demosite.json"]
|