test_dataexport.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from misago.users.dataexport import is_user_data_export_in_progress, start_data_export_for_user
  2. from misago.users.models import DataExport
  3. from misago.users.testutils import AuthenticatedUserTestCase
  4. class IsUserDataExportInProgressTests(AuthenticatedUserTestCase):
  5. def test_util_returns_false_for_no_export(self):
  6. """is_user_data_export_in_progress returns false if user has no export in progress"""
  7. self.assertFalse(is_user_data_export_in_progress(self.user))
  8. def test_util_returns_false_for_ready_export(self):
  9. """is_user_data_export_in_progress returns false if user has ready export"""
  10. data_export = start_data_export_for_user(self.user)
  11. data_export.status = DataExport.STATUS_READY
  12. data_export.save()
  13. self.assertFalse(is_user_data_export_in_progress(self.user))
  14. def test_util_returns_false_for_expired_export(self):
  15. """is_user_data_export_in_progress returns false if user has expired export"""
  16. data_export = start_data_export_for_user(self.user)
  17. data_export.status = DataExport.STATUS_EXPIRED
  18. data_export.save()
  19. self.assertFalse(is_user_data_export_in_progress(self.user))
  20. def test_util_returns_true_for_pending_export(self):
  21. """is_user_data_export_in_progress returns true if user has pending export"""
  22. data_export = start_data_export_for_user(self.user)
  23. data_export.status = DataExport.STATUS_PENDING
  24. data_export.save()
  25. self.assertTrue(is_user_data_export_in_progress(self.user))
  26. def test_util_returns_true_for_processing_export(self):
  27. """is_user_data_export_in_progress returns true if user has processing export"""
  28. data_export = start_data_export_for_user(self.user)
  29. data_export.status = DataExport.STATUS_PROCESSING
  30. data_export.save()
  31. self.assertTrue(is_user_data_export_in_progress(self.user))
  32. class StartDataExportForUserTests(AuthenticatedUserTestCase):
  33. def test_util_creates_data_export_for_user(self):
  34. """start_data_export_for_user created valid data export for user"""
  35. data_export = start_data_export_for_user(self.user)
  36. self.assertEqual(data_export.user, self.user)
  37. self.assertEqual(data_export.requester, self.user)
  38. self.assertEqual(data_export.requester_name, self.user.username)
  39. self.assertEqual(data_export.status, DataExport.STATUS_PENDING)
  40. def test_util_creates_data_export_for_user_with_request(self):
  41. """start_data_export_for_user created valid data export for user with other requester"""
  42. requester = self.get_superuser()
  43. data_export = start_data_export_for_user(self.user, requester)
  44. self.assertEqual(data_export.user, self.user)
  45. self.assertEqual(data_export.requester, requester)
  46. self.assertEqual(data_export.requester_name, requester.username)
  47. self.assertEqual(data_export.status, DataExport.STATUS_PENDING)