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}
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)
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')