test_lists.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from django.test import TestCase
  2. from misago.acl.testutils import override_acl
  3. from misago.admin.testutils import AdminTestCase
  4. from misago.forums.lists import get_forums_list, get_forum_path
  5. from misago.forums.models import Forum
  6. class GetForumListTests(AdminTestCase):
  7. def setUp(self):
  8. super(GetForumListTests, self).setUp()
  9. forums_acl = {'forums': {}, 'visible_forums': []}
  10. for forum in Forum.objects.all_forums():
  11. forums_acl['visible_forums'].append(forum.pk)
  12. forums_acl['forums'][forum.pk] = {'can_see': 1, 'can_browse': 1}
  13. override_acl(self.test_admin, forums_acl)
  14. def test_root_forums_list_no_parent(self):
  15. """get_forums_list returns all children of root nodes"""
  16. self.assertEqual(len(get_forums_list(self.test_admin)), 3)
  17. def test_root_forums_list_with_parents(self):
  18. """get_forums_list returns all children of given node"""
  19. for i, node in enumerate(get_forums_list(self.test_admin)):
  20. child_nodes = len(get_forums_list(self.test_admin, node))
  21. self.assertEqual(child_nodes, len(node.get_descendants()))
  22. class GetForumPathTests(TestCase):
  23. def get_forum_path(self):
  24. """get_forums_list returns all children of root nodes"""
  25. for node in get_forums_list(self.test_admin):
  26. parent_nodes = len(get_forum_path(self.test_admin, node))
  27. self.assertEqual(parent_nodes, node.level - 1)