test_datadownload.py 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from misago.users.datadownload import is_user_preparing_data_download, prepare_user_data_download
  2. from misago.users.models import DataDownload
  3. from misago.users.testutils import AuthenticatedUserTestCase
  4. class IsUserPreparingDataDownloadTests(AuthenticatedUserTestCase):
  5. def test_util_returns_false_for_no_download(self):
  6. """is_user_preparing_data_download returns false if user has no preparation in progress"""
  7. self.assertFalse(is_user_preparing_data_download(self.user))
  8. def test_util_returns_false_for_ready_download(self):
  9. """is_user_preparing_data_download returns false if user has ready download"""
  10. data_download = prepare_user_data_download(self.user)
  11. data_download.status = DataDownload.STATUS_READY
  12. data_download.save()
  13. self.assertFalse(is_user_preparing_data_download(self.user))
  14. def test_util_returns_false_for_expired_download(self):
  15. """is_user_preparing_data_download returns false if user has expired download"""
  16. data_download = prepare_user_data_download(self.user)
  17. data_download.status = DataDownload.STATUS_EXPIRED
  18. data_download.save()
  19. self.assertFalse(is_user_preparing_data_download(self.user))
  20. def test_util_returns_true_for_pending_download(self):
  21. """is_user_preparing_data_download returns true if user has pending download"""
  22. data_download = prepare_user_data_download(self.user)
  23. data_download.status = DataDownload.STATUS_PENDING
  24. data_download.save()
  25. self.assertTrue(is_user_preparing_data_download(self.user))
  26. def test_util_returns_true_for_processing_download(self):
  27. """is_user_preparing_data_download returns true if user has processing download"""
  28. data_download = prepare_user_data_download(self.user)
  29. data_download.status = DataDownload.STATUS_PROCESSING
  30. data_download.save()
  31. self.assertTrue(is_user_preparing_data_download(self.user))
  32. class PrepareUserDataDownloadTests(AuthenticatedUserTestCase):
  33. def test_util_creates_data_download_for_user_with_them_as_requester(self):
  34. """prepare_user_data_download prepared valid data download for user"""
  35. data_download = prepare_user_data_download(self.user)
  36. self.assertEqual(data_download.user, self.user)
  37. self.assertEqual(data_download.requester, self.user)
  38. self.assertEqual(data_download.requester_name, self.user.username)
  39. self.assertEqual(data_download.status, DataDownload.STATUS_PENDING)
  40. def test_util_creates_data_download_for_user_explicit_requester(self):
  41. """prepare_user_data_download prepared valid data download for user with other requester"""
  42. requester = self.get_superuser()
  43. data_download = prepare_user_data_download(self.user, requester)
  44. self.assertEqual(data_download.user, self.user)
  45. self.assertEqual(data_download.requester, requester)
  46. self.assertEqual(data_download.requester_name, requester.username)
  47. self.assertEqual(data_download.status, DataDownload.STATUS_PENDING)