test_forum_model.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from django.test import TestCase
  2. from misago.forums.models import FORUMS_TREE_ID, Forum
  3. class ForumManagerTests(TestCase):
  4. def test_private_threads(self):
  5. """private_threads returns private threads forum"""
  6. forum = Forum.objects.private_threads()
  7. self.assertEqual(forum.special_role, 'private_threads')
  8. def test_root_category(self):
  9. """root_category returns forums tree root"""
  10. forum = Forum.objects.root_category()
  11. self.assertEqual(forum.special_role, 'root_category')
  12. def test_all_forums(self):
  13. """all_forums returns queryset with forums tree"""
  14. root = Forum.objects.root_category()
  15. test_forum_a = Forum(name='Test', role='category')
  16. test_forum_a.insert_at(root,
  17. position='last-child',
  18. save=True)
  19. test_forum_b = Forum(name='Test 2', role='category')
  20. test_forum_b.insert_at(root,
  21. position='last-child',
  22. save=True)
  23. all_forums_from_db = [f for f in Forum.objects.all_forums(True)]
  24. self.assertIn(test_forum_a, all_forums_from_db)
  25. self.assertIn(test_forum_b, all_forums_from_db)
  26. def test_get_forums_dict_from_db(self):
  27. """get_forums_dict_from_db returns dict with forums"""
  28. test_dict = Forum.objects.get_forums_dict_from_db()
  29. for forum in Forum.objects.all():
  30. if forum.tree_id == FORUMS_TREE_ID:
  31. self.assertIn(forum.id, test_dict)
  32. else:
  33. self.assertNotIn(forum.id, test_dict)