test_lists.py 1.3 KB

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