1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from misago.users.datadownloads import request_user_data_download
- from misago.users.testutils import AuthenticatedUserTestCase
- class UserDataDownloadsApiTests(AuthenticatedUserTestCase):
- def setUp(self):
- super(UserDataDownloadsApiTests, self).setUp()
- self.link = '/api/users/%s/data-downloads/' % self.user.pk
- def test_get_other_user_exports_anonymous(self):
- """requests to api fails if user is anonymous"""
- self.logout_user()
- response = self.client.get(self.link)
- self.assertEqual(response.status_code, 403)
- self.assertEqual(response.json(), {
- 'detail': "You have to sign in to perform this action.",
- })
- def test_get_other_user_exports(self):
- """requests to api fails if user tries to access other user"""
- other_user = self.get_superuser()
- link = '/api/users/%s/data-downloads/' % other_user.pk
- response = self.client.get(link)
- self.assertEqual(response.status_code, 403)
- self.assertEqual(response.json(), {
- 'detail': "You can't see other users data downloads.",
- })
-
- def test_get_empty_list(self):
- """api returns empy list"""
- self.assertFalse(self.user.datadownload_set.exists())
- response = self.client.get(self.link)
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.json(), [])
- def test_populated_list(self):
- """api returns list"""
- for _ in range(6):
- request_user_data_download(self.user)
- self.assertTrue(self.user.datadownload_set.exists())
- response = self.client.get(self.link)
- self.assertEqual(response.status_code, 200)
- self.assertEqual(len(response.json()), 5)
|