test_forum_model.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.core.exceptions import ValidationError
  2. from django.test import TestCase
  3. from misago.forums.models import Forum
  4. class ForumManagerTests(TestCase):
  5. serialized_rollback = True
  6. def test_private_threads(self):
  7. """private_threads returns private threads forum"""
  8. forum = Forum.objects.private_threads()
  9. self.assertEqual(forum.special_role, 'private_threads')
  10. def test_root_category(self):
  11. """root_category returns forums tree root"""
  12. forum = Forum.objects.root_category()
  13. self.assertEqual(forum.special_role, 'root_category')
  14. def test_all_forums(self):
  15. """all_forums returns queryset with forums tree"""
  16. root = Forum.objects.root_category()
  17. test_forum_a = Forum(name='Test', role='category')
  18. test_forum_a.insert_at(root,
  19. position='last-child',
  20. save=True)
  21. test_forum_b = Forum(name='Test 2', role='category')
  22. test_forum_b.insert_at(root,
  23. position='last-child',
  24. save=True)
  25. all_forums = [root, test_forum_a, test_forum_b]
  26. no_root = [test_forum_a, test_forum_b]
  27. self.assertEqual(Forum.objects.all_forums(True).count(),
  28. len(all_forums))
  29. self.assertEqual(Forum.objects.all_forums().count(),
  30. len(no_root))
  31. all_forums_from_db = [f for f in Forum.objects.all_forums(True)]
  32. no_root_from_db = [f for f in Forum.objects.all_forums()]
  33. self.assertEqual(len(all_forums_from_db),
  34. len(all_forums))
  35. self.assertEqual(len(no_root),
  36. len(no_root_from_db))