test_threads_moderation.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from misago.acl.testutils import override_acl
  2. from misago.forums.models import Forum
  3. from misago.users.testutils import AuthenticatedUserTestCase
  4. from misago.threads import moderation, testutils
  5. from misago.threads.models import Thread, Post, Event
  6. class ThreadsModerationTests(AuthenticatedUserTestCase):
  7. def setUp(self):
  8. super(ThreadsModerationTests, self).setUp()
  9. self.forum = Forum.objects.all_forums().filter(role="forum")[:1][0]
  10. self.thread = testutils.post_thread(self.forum)
  11. def reload_thread(self):
  12. self.thread = Thread.objects.get(pk=self.thread.pk)
  13. def test_announce_thread(self):
  14. """announce_thread makes thread announcement"""
  15. self.assertEqual(self.thread.weight, 0)
  16. self.assertTrue(moderation.announce_thread(self.user, self.thread))
  17. self.reload_thread()
  18. self.assertEqual(self.thread.weight, 2)
  19. self.assertTrue(self.thread.has_events)
  20. event = self.thread.event_set.last()
  21. self.assertEqual(event.icon, "star")
  22. self.assertIn("changed thread to announcement.", event.message)
  23. def test_pin_thread(self):
  24. """pin_thread makes thread pinned"""
  25. self.assertEqual(self.thread.weight, 0)
  26. self.assertTrue(moderation.pin_thread(self.user, self.thread))
  27. self.reload_thread()
  28. self.assertEqual(self.thread.weight, 1)
  29. self.assertTrue(self.thread.has_events)
  30. event = self.thread.event_set.last()
  31. self.assertEqual(event.icon, "bookmark")
  32. self.assertIn("pinned thread.", event.message)
  33. def test_default_thread(self):
  34. """default_thread defaults thread weight"""
  35. moderation.pin_thread(self.user, self.thread)
  36. self.assertEqual(self.thread.weight, 1)
  37. self.assertTrue(moderation.default_thread(self.user, self.thread))
  38. self.reload_thread()
  39. self.assertEqual(self.thread.weight, 0)
  40. self.assertTrue(self.thread.has_events)
  41. event = self.thread.event_set.last()
  42. self.assertIn("unpinned thread.", event.message)
  43. self.assertEqual(event.icon, "circle")