from misago.acl.testutils import override_acl from misago.users.testutils import AuthenticatedUserTestCase from misago.forums.lists import get_forums_list, get_forum_path from misago.forums.models import Forum class ForumsListsTests(AuthenticatedUserTestCase): def setUp(self): super(ForumsListsTests, self).setUp() forums_acl = {'forums': {}, 'visible_forums': []} for forum in Forum.objects.all_forums(): forums_acl['visible_forums'].append(forum.pk) forums_acl['forums'][forum.pk] = {'can_see': 1, 'can_browse': 1} override_acl(self.user, forums_acl) def test_root_forums_list_no_parent(self): """get_forums_list returns all children of root nodes""" self.assertEqual(len(get_forums_list(self.user)), 3) def test_root_forums_list_with_parents(self): """get_forums_list returns all children of given node""" for i, node in enumerate(get_forums_list(self.user)): child_nodes = len(get_forums_list(self.user, node)) self.assertEqual(child_nodes, len(node.get_descendants())) def test_get_forum_path(self): """get_forums_list returns all children of root nodes""" for node in get_forums_list(self.user): parent_nodes = len(get_forum_path(node)) self.assertEqual(parent_nodes, node.level)