12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import json
- from django.urls import reverse
- from misago.acl.test import patch_user_acl
- from misago.categories.models import Category
- from misago.users.testutils import AuthenticatedUserTestCase
- class CategoryViewsTests(AuthenticatedUserTestCase):
- def setUp(self):
- super().setUp()
- self.category = Category.objects.get(slug='first-category')
- def test_index_renders(self):
- """categories list renders for authenticated"""
- response = self.client.get(reverse('misago:categories'))
- self.assertContains(response, self.category.name)
- self.assertContains(response, self.category.get_absolute_url())
- def test_index_renders_for_guest(self):
- """categories list renders for guest"""
- self.logout_user()
- response = self.client.get(reverse('misago:categories'))
- self.assertContains(response, self.category.name)
- self.assertContains(response, self.category.get_absolute_url())
- @patch_user_acl({'visible_categories': []})
- def test_index_no_perms_renders(self):
- """categories list renders no visible categories for authenticated"""
- response = self.client.get(reverse('misago:categories'))
- self.assertNotContains(response, self.category.name)
- self.assertNotContains(response, self.category.get_absolute_url())
- @patch_user_acl({'visible_categories': []})
- def test_index_no_perms_renders_for_guest(self):
- """categories list renders no visible categories for guest"""
- self.logout_user()
- response = self.client.get(reverse('misago:categories'))
- self.assertNotContains(response, self.category.name)
- self.assertNotContains(response, self.category.get_absolute_url())
- class CategoryAPIViewsTests(AuthenticatedUserTestCase):
- def setUp(self):
- super().setUp()
- self.category = Category.objects.get(slug='first-category')
- def test_list_renders(self):
- """api returns categories for authenticated"""
- response = self.client.get(reverse('misago:api:category-list'))
- self.assertContains(response, self.category.name)
- self.assertContains(response, self.category.get_absolute_url())
- def test_list_renders_for_guest(self):
- """api returns categories for guest"""
- self.logout_user()
- response = self.client.get(reverse('misago:api:category-list'))
- self.assertContains(response, self.category.name)
- self.assertContains(response, self.category.get_absolute_url())
- @patch_user_acl({'visible_categories': []})
- def test_list_no_perms_renders(self):
- """api returns no categories for authenticated"""
- response = self.client.get(reverse('misago:api:category-list'))
- assert json.loads(response.content) == []
- @patch_user_acl({'visible_categories': []})
- def test_list_no_perms_renders_for_guest(self):
- """api returns no categories for guest"""
- self.logout_user()
- response = self.client.get(reverse('misago:api:category-list'))
- assert json.loads(response.content) == []
|