test_forum_model.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. def test_private_threads(self):
  6. """private_threads returns private threads forum"""
  7. forum = Forum.objects.private_threads()
  8. self.assertEqual(forum.special_role, 'private_threads')
  9. def test_root_category(self):
  10. """root_category returns forums tree root"""
  11. forum = Forum.objects.root_category()
  12. self.assertEqual(forum.special_role, 'root_category')
  13. def test_all_forums(self):
  14. """all_forums returns queryset with forums tree"""
  15. root = Forum.objects.root_category()
  16. test_forum_a = Forum(name='Test', role='category')
  17. test_forum_a.insert_at(root,
  18. position='last-child',
  19. save=True)
  20. test_forum_b = Forum(name='Test 2', role='category')
  21. test_forum_b.insert_at(root,
  22. position='last-child',
  23. save=True)
  24. all_forums = [root, test_forum_a, test_forum_b]
  25. no_root = [test_forum_a, test_forum_b]
  26. self.assertEqual(Forum.objects.all_forums(True).count(),
  27. len(all_forums))
  28. self.assertEqual(Forum.objects.all_forums().count(),
  29. len(no_root))
  30. all_forums_from_db = [f for f in Forum.objects.all_forums(True)]
  31. no_root_from_db = [f for f in Forum.objects.all_forums()]
  32. self.assertEqual(len(all_forums_from_db),
  33. len(all_forums))
  34. self.assertEqual(len(no_root),
  35. len(no_root_from_db))