Add tests for page usage views

pull/10083/head
Sage Abdullah 2023-02-06 17:10:41 +00:00 zatwierdzone przez Matt Westcott
rodzic a09bc8f8fd
commit d7cad89b4d
2 zmienionych plików z 93 dodań i 0 usunięć

Wyświetl plik

@ -35,6 +35,7 @@ from wagtail.test.testapp.models import (
EventPageCarouselItem,
FilePage,
ManyToManyBlogPage,
PageChooserModel,
SimplePage,
SingleEventPage,
StandardIndex,
@ -156,11 +157,31 @@ class TestPageEdit(WagtailTestUtils, TestCase):
)
self.assertNotContains(response, "data-form-side-explorer")
# test that usage info is shown
self.assertContains(response, "Used 0 times")
self.assertContains(
response, reverse("wagtailadmin_pages:usage", args=(self.event_page.id,))
)
# test that AdminURLFinder returns the edit view for the page
url_finder = AdminURLFinder(self.user)
expected_url = "/admin/pages/%d/edit/" % self.event_page.id
self.assertEqual(url_finder.get_edit_url(self.event_page), expected_url)
def test_usage_count_information_shown(self):
PageChooserModel.objects.create(page=self.event_page)
# Tests that the edit page loads
response = self.client.get(
reverse("wagtailadmin_pages:edit", args=(self.event_page.id,))
)
# test that usage info is shown
self.assertContains(response, "Used 1 time")
self.assertContains(
response, reverse("wagtailadmin_pages:usage", args=(self.event_page.id,))
)
@override_settings(WAGTAIL_WORKFLOW_ENABLED=False)
def test_workflow_buttons_not_shown_when_workflow_disabled(self):
response = self.client.get(

Wyświetl plik

@ -0,0 +1,72 @@
from django.test import TestCase
from django.urls import reverse
from wagtail.models import Page
from wagtail.test.testapp.models import (
FormPageWithRedirect,
PageChooserModel,
SimplePage,
)
from wagtail.test.utils import WagtailTestUtils
class TestPageUsage(WagtailTestUtils, TestCase):
def setUp(self):
self.user = self.login()
self.root_page = Page.objects.get(id=2)
page = SimplePage(
title="Hello world!",
slug="hello-world",
content="hello",
)
self.root_page.add_child(instance=page)
page.save_revision().publish()
self.page = SimplePage.objects.get(id=page.id)
def test_no_usage(self):
usage_url = reverse("wagtailadmin_pages:usage", args=(self.page.id,))
response = self.client.get(usage_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/generic/index.html")
self.assertContains(response, "Usage of")
self.assertContains(response, "Hello world!")
def test_has_private_usage(self):
PageChooserModel.objects.create(page=self.page)
usage_url = reverse("wagtailadmin_pages:usage", args=(self.page.id,))
response = self.client.get(usage_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/generic/index.html")
self.assertContains(response, "Usage of")
self.assertContains(response, "Hello world!")
self.assertContains(response, "(Private page chooser model)")
def test_has_editable_usage(self):
form_page = FormPageWithRedirect(
title="Contact us",
slug="contact-us",
to_address="to@email.com",
from_address="from@email.com",
subject="The subject",
thank_you_redirect_page=self.page,
)
form_page = self.root_page.add_child(instance=form_page)
usage_url = reverse("wagtailadmin_pages:usage", args=(self.page.id,))
response = self.client.get(usage_url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/generic/index.html")
self.assertContains(response, "Usage of")
self.assertContains(response, "Hello world!")
self.assertContains(response, "Contact us")
self.assertContains(
response, reverse("wagtailadmin_pages:edit", args=(form_page.id,))
)
self.assertContains(response, "Thank you redirect page")