12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import json
- from django.urls import reverse
- from ...acl.test import patch_user_acl
- from ...users.test import AuthenticatedUserTestCase
- from ..models import Category
- 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) == []
|