diff --git a/wagtail/admin/tests/pages/test_edit_page.py b/wagtail/admin/tests/pages/test_edit_page.py index e4638d9988..2b647972c2 100644 --- a/wagtail/admin/tests/pages/test_edit_page.py +++ b/wagtail/admin/tests/pages/test_edit_page.py @@ -547,6 +547,37 @@ class TestPageEdit(WagtailTestUtils, TestCase): # The draft_title should have a new title self.assertEqual(child_page_new.draft_title, post_data["title"]) + def test_required_field_validation_skipped_when_saving_draft(self): + post_data = { + "title": "Hello unpublished world! edited", + "content": "", + "slug": "hello-unpublished-world-edited", + } + response = self.client.post( + reverse("wagtailadmin_pages:edit", args=(self.unpublished_page.id,)), + post_data, + ) + self.assertRedirects( + response, + reverse("wagtailadmin_pages:edit", args=(self.unpublished_page.id,)), + ) + self.unpublished_page.refresh_from_db() + self.assertEqual(self.unpublished_page.content, "") + + def test_required_field_validation_enforced_on_publish(self): + post_data = { + "title": "Hello unpublished world! edited", + "content": "", + "slug": "hello-unpublished-world-edited", + "action-publish": "Publish", + } + response = self.client.post( + reverse("wagtailadmin_pages:edit", args=(self.unpublished_page.id,)), + post_data, + ) + self.assertEqual(response.status_code, 200) + self.assertContains(response, "This field is required.") + def test_page_edit_post_when_locked(self): # Tests that trying to edit a locked page results in an error