Example #1
0
def patch_title(request, thread, value):
    try:
        value_cleaned = six.text_type(value).strip()
    except (TypeError, ValueError):
        raise ValidationError(_('Not a valid string.'))

    validate_title(value_cleaned)

    allow_edit_thread(request.user, thread)

    moderation.change_thread_title(request, thread, value_cleaned)
    return {'title': thread.title}
Example #2
0
    def test_changed_thread_title_event_renders(self):
        """changed thread title event renders"""
        moderation.change_thread_title(
            MockRequest(self.user), self.thread, "Lorem renamed ipsum!"
        )

        event = self.thread.post_set.filter(is_event=True)[0]
        self.assertEqual(event.event_type, 'changed_title')

        # event renders
        response = self.client.get(self.thread.get_absolute_url())
        self.assertContains(response, event.get_absolute_url())
        self.assertContains(response, "title has been changed from")
        self.assertContains(response, self.thread.title)
Example #3
0
    def test_change_thread_title(self):
        """change_thread_title changes thread's title and slug"""
        self.assertTrue(
            moderation.change_thread_title(self.request, self.thread,
                                           "New title is here!"))

        self.reload_thread()
        self.assertEqual(self.thread.title, "New title is here!")
        self.assertEqual(self.thread.slug, 'new-title-is-here')

        event = self.thread.last_post

        self.assertTrue(event.is_event)
        self.assertEqual(event.event_type, 'changed_title')