def test_index_renders(self): """api returns categories for authenticated""" response = self.client.get(reverse('misago:api:categories')) for node in get_categories_tree(self.user): self.assertIn(node.name, response.content) if node.level > 1: self.assertIn(node.get_absolute_url(), response.content)
def test_root_categories_tree_no_parent(self): """get_categories_tree returns all children of root nodes""" categories_tree = get_categories_tree(self.user) self.assertEqual(len(categories_tree), 3) self.assertEqual(categories_tree[0], Category.objects.get(slug='first-category')) self.assertEqual(categories_tree[1], Category.objects.get(slug='category-a')) self.assertEqual(categories_tree[2], Category.objects.get(slug='category-e'))
def test_list_renders(self): """api returns categories for authenticated""" response = self.client.get(reverse('misago:api:category-list')) for node in get_categories_tree(self.user): self.assertContains(response, node.name) if node.level > 1: self.assertNotContains(response, node.get_absolute_url())
def test_index_renders(self): """categories list renders for authenticated""" response = self.client.get(reverse('misago:categories')) for node in get_categories_tree(self.user): self.assertContains(response, node.name) if node.level > 1: self.assertContains(response, node.get_absolute_url())
def test_list_no_perms_renders(self): """api returns no categories for authenticated""" override_acl(self.user, {'visible_categories': []}) response = self.client.get(reverse('misago:api:category-list')) for node in get_categories_tree(self.user): self.assertNotIn(node.name, response.content) if node.level > 1: self.assertNotContains(response, node.get_absolute_url())
def test_index_no_perms_renders(self): """categories list renders no visible categories for authenticated""" override_acl(self.user, {'visible_categories': []}) response = self.client.get(reverse('misago:categories')) for node in get_categories_tree(self.user): self.assertNotIn(node.name, response.content) if node.level > 1: self.assertNotIn(node.get_absolute_url(), response.content)
def test_index_renders_for_guest(self): """categories list renders for guest""" self.logout_user() response = self.client.get(reverse('misago:categories')) for node in get_categories_tree(self.user): self.assertContains(response, node.name) if node.level > 1: self.assertContains(response, node.get_absolute_url())
def test_index_renders_for_guest(self): """api returns categories for guest""" self.logout_user() response = self.client.get(reverse('misago:api:categories')) for node in get_categories_tree(self.user): self.assertIn(node.name, response.content) if node.level > 1: self.assertIn(node.get_absolute_url(), response.content)
def categories(request): categories_tree = get_categories_tree(request.user, join_posters=True) request.frontend_context['store'].update({ 'categories': CategorySerializer(categories_tree, many=True).data, }) return render(request, 'misago/categories/list.html', { 'categories': categories_tree, })
def categories(request): categories_tree = get_categories_tree(request.user, join_posters=True) request.frontend_context.update({ 'CATEGORIES': CategorySerializer(categories_tree, many=True).data, 'CATEGORIES_API': reverse('misago:api:category-list'), }) return render(request, 'misago/categories/list.html', { 'categories': categories_tree, })
def categories(request): categories_tree = get_categories_tree(request.user) request.frontend_context.update({ 'CATEGORIES': CategorySerializer(categories_tree, many=True).data, 'CATEGORIES_API': reverse('misago:api:category-list') }) return render(request, 'misago/categories/list.html', { 'categories': categories_tree, })
def test_index_no_perms_renders_for_guest(self): """categories list renders no visible categories for guest""" self.logout_user() override_acl(self.user, {'visible_categories': []}) response = self.client.get(reverse('misago:categories')) for node in get_categories_tree(self.user): self.assertNotIn(node.name, response.content) if node.level > 1: self.assertNotContains(response, node.get_absolute_url())
def test_list_no_perms_renders_for_guest(self): """api returns no categories for guest""" self.logout_user() override_acl(self.user, {'visible_categories': []}) response = self.client.get(reverse('misago:api:category-list')) for node in get_categories_tree(self.user): self.assertNotContains(response, node.name) if node.level > 1: self.assertNotContains(response, node.get_absolute_url())
def categories(request): categories_tree = get_categories_tree(request.user) request.frontend_context['CATEGORIES'] = CategorySerializer( categories_tree, many=True).data request.frontend_context['CATEGORIES_API'] = reverse( 'misago:api:categories') return render(request, 'misago/categories/list.html', { 'categories': categories_tree, 'is_index': settings.MISAGO_CATEGORIES_ON_INDEX, })
def api(request): categories_tree = get_categories_tree(request.user) return Response(CategorySerializer(categories_tree, many=True).data)
def test_get_category_path(self): """get_categories_tree returns all children of root nodes""" for node in get_categories_tree(self.user): parent_nodes = len(get_category_path(node)) self.assertEqual(parent_nodes, node.level)
def test_root_categories_tree_with_leaf(self): """get_categories_tree returns all children of given node""" categories_tree = get_categories_tree( self.user, Category.objects.get(slug='subcategory-f') ) self.assertEqual(len(categories_tree), 0)
def test_root_categories_tree_with_parent(self): """get_categories_tree returns all children of given node""" categories_tree = get_categories_tree(self.user, self.category_a) self.assertEqual(len(categories_tree), 1) self.assertEqual(categories_tree[0], Category.objects.get(slug='category-b'))
def test_root_categories_tree_with_leaf(self): """get_categories_tree returns all children of given node""" categories_tree = get_categories_tree( self.user, Category.objects.get(slug='subcategory-f')) self.assertEqual(len(categories_tree), 0)