diff options
Diffstat (limited to 'pysite/apps/api/tests/test_users.py')
-rw-r--r-- | pysite/apps/api/tests/test_users.py | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/pysite/apps/api/tests/test_users.py b/pysite/apps/api/tests/test_users.py deleted file mode 100644 index 90bc3d30..00000000 --- a/pysite/apps/api/tests/test_users.py +++ /dev/null @@ -1,121 +0,0 @@ -from django_hosts.resolvers import reverse - -from .base import APISubdomainTestCase -from ..models import Role, User - - -class UnauthedUserAPITests(APISubdomainTestCase): - def setUp(self): - super().setUp() - self.client.force_authenticate(user=None) - - def test_detail_lookup_returns_401(self): - url = reverse('bot:user-detail', args=('whatever',), host='api') - response = self.client.get(url) - - self.assertEqual(response.status_code, 401) - - def test_list_returns_401(self): - url = reverse('bot:user-list', host='api') - response = self.client.get(url) - - self.assertEqual(response.status_code, 401) - - def test_create_returns_401(self): - url = reverse('bot:user-list', host='api') - response = self.client.post(url, data={'hi': 'there'}) - - self.assertEqual(response.status_code, 401) - - def test_delete_returns_401(self): - url = reverse('bot:user-detail', args=('whatever',), host='api') - response = self.client.delete(url) - - self.assertEqual(response.status_code, 401) - - -class CreationTests(APISubdomainTestCase): - @classmethod - def setUpTestData(cls): # noqa - cls.role = Role.objects.create( - id=5, - name="Test role pls ignore", - colour=2, - permissions=0b01010010101 - ) - - def test_accepts_valid_data(self): - url = reverse('bot:user-list', host='api') - data = { - 'id': 42, - 'avatar_hash': "validavatarhashiswear", - 'name': "Test", - 'discriminator': 42, - 'roles': [ - self.role.id - ], - 'in_guild': True - } - - response = self.client.post(url, data=data) - self.assertEqual(response.status_code, 201) - self.assertEqual(response.json(), data) - - user = User.objects.get(id=42) - self.assertEqual(user.avatar_hash, data['avatar_hash']) - self.assertEqual(user.name, data['name']) - self.assertEqual(user.discriminator, data['discriminator']) - self.assertEqual(user.in_guild, data['in_guild']) - - def test_supports_multi_creation(self): - url = reverse('bot:user-list', host='api') - data = [ - { - 'id': 5, - 'avatar_hash': "hahayes", - 'name': "test man", - 'discriminator': 42, - 'roles': [ - self.role.id - ], - 'in_guild': True - }, - { - 'id': 8, - 'avatar_hash': "maybenot", - 'name': "another test man", - 'discriminator': 555, - 'roles': [], - 'in_guild': False - } - ] - - response = self.client.post(url, data=data) - self.assertEqual(response.status_code, 201) - self.assertEqual(response.json(), data) - - def test_returns_400_for_unknown_role_id(self): - url = reverse('bot:user-list', host='api') - data = { - 'id': 5, - 'avatar_hash': "hahayes", - 'name': "test man", - 'discriminator': 42, - 'roles': [ - 190810291 - ] - } - - response = self.client.post(url, data=data) - self.assertEqual(response.status_code, 400) - - def test_returns_400_for_bad_data(self): - url = reverse('bot:user-list', host='api') - data = { - 'id': True, - 'avatar_hash': 1902831, - 'discriminator': "totally!" - } - - response = self.client.post(url, data=data) - self.assertEqual(response.status_code, 400) |