Fire page_published signal on moderation approval

pull/392/head
Karl Hobley 2014-06-30 14:22:55 +01:00
rodzic 865459e5eb
commit de229914f0
2 zmienionych plików z 16 dodań i 0 usunięć

Wyświetl plik

@ -200,6 +200,7 @@ class TestPageCreation(TestCase, WagtailTestUtils):
# Check that the page_published signal was fired
self.assertTrue(signal_fired[0])
self.assertEqual(signal_page[0], page)
self.assertEqual(signal_page[0], signal_page[0].specific)
def test_create_simplepage_post_submit(self):
# Create a moderator user for testing email
@ -368,6 +369,7 @@ class TestPageEdit(TestCase, WagtailTestUtils):
# Check that the page_published signal was fired
self.assertTrue(signal_fired[0])
self.assertEqual(signal_page[0], child_page_new)
self.assertEqual(signal_page[0], signal_page[0].specific)
# The page shouldn't have "has_unpublished_changes" flag set
self.assertFalse(child_page_new.has_unpublished_changes)
@ -667,6 +669,14 @@ class TestApproveRejectModeration(TestCase, WagtailTestUtils):
"""
This posts to the approve moderation view and checks that the page was approved
"""
# Connect a mock signal handler to page_published signal
signal_fired = [False]
signal_page = [None]
def page_published_handler(sender, page, **kwargs):
signal_fired[0] = True
signal_page[0] = page
page_published.connect(page_published_handler)
# Post
response = self.client.post(reverse('wagtailadmin_pages_approve_moderation', args=(self.revision.id, )), {
'foo': "Must post something or the view won't see this as a POST request",
@ -678,6 +688,11 @@ class TestApproveRejectModeration(TestCase, WagtailTestUtils):
# Page must be live
self.assertTrue(Page.objects.get(id=self.page.id).live)
# Check that the page_published signal was fired
self.assertTrue(signal_fired[0])
self.assertEqual(signal_page[0], self.page)
self.assertEqual(signal_page[0], signal_page[0].specific)
def test_approve_moderation_view_bad_revision_id(self):
"""
This tests that the approve moderation view handles invalid revision ids correctly

Wyświetl plik

@ -609,6 +609,7 @@ def approve_moderation(request, revision_id):
if request.POST:
revision.publish()
page_published.send(sender=revision.page.__class__, page=revision.page.specific)
messages.success(request, _("Page '{0}' published.").format(revision.page.title))
tasks.send_notification.delay(revision.id, 'approved', request.user.id)