user_manager_create_user.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. from django.core.exceptions import ValidationError
  2. from django.core.management import call_command
  3. from django.test import TestCase
  4. from misago.models import User
  5. from misago.monitor import monitor, refresh_monitor, UpdatingMonitor
  6. class UserManagerCreateUserTestCase(TestCase):
  7. def setUp(self):
  8. call_command('startmisago', quiet=True)
  9. def test_create_user(self):
  10. """Test User.objects.create_user"""
  11. with UpdatingMonitor() as cm:
  12. user_a = User.objects.create_user('Lemmiwinks', 'lemm@sp.com', '123pass')
  13. try:
  14. user_from_db = User.objects.get(username=user_a.username)
  15. user_from_db = User.objects.get(email=user_a.email)
  16. except User.DoesNotExist:
  17. raise AssertionError("User A was not saved in database!")
  18. refresh_monitor()
  19. self.assertEqual(int(monitor['users']), 1)
  20. self.assertEqual(int(monitor['users_inactive']), 0)
  21. self.assertEqual(int(monitor['last_user']), user_a.pk)
  22. self.assertEqual(monitor['last_user_name'], user_a.username)
  23. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  24. with UpdatingMonitor() as cm:
  25. user_b = User.objects.create_user('InactiveTest', 'lemsm@sp.com', '123pass', activation=User.ACTIVATION_USER)
  26. try:
  27. user_from_db = User.objects.get(username=user_b.username)
  28. user_from_db = User.objects.get(email=user_b.email)
  29. self.assertEqual(user_from_db.activation, User.ACTIVATION_USER)
  30. except User.DoesNotExist:
  31. raise AssertionError("User B was not saved in database!")
  32. refresh_monitor()
  33. self.assertEqual(int(monitor['users']), 1)
  34. self.assertEqual(int(monitor['users_inactive']), 1)
  35. self.assertEqual(int(monitor['last_user']), user_a.pk)
  36. self.assertEqual(monitor['last_user_name'], user_a.username)
  37. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  38. with UpdatingMonitor() as cm:
  39. try:
  40. user_c = User.objects.create_user('UsedMail', 'lemsm@sp.com', '123pass')
  41. raise AssertionError("Created user account with taken e-mail address!")
  42. except ValidationError:
  43. pass
  44. refresh_monitor()
  45. self.assertEqual(int(monitor['users']), 1)
  46. self.assertEqual(int(monitor['users_inactive']), 1)
  47. self.assertEqual(int(monitor['last_user']), user_a.pk)
  48. self.assertEqual(monitor['last_user_name'], user_a.username)
  49. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  50. with UpdatingMonitor() as cm:
  51. try:
  52. user_d = User.objects.create_user('InactiveTest', 'user@name.com', '123pass')
  53. raise AssertionError("Created user account with taken username!")
  54. except ValidationError:
  55. pass
  56. refresh_monitor()
  57. self.assertEqual(int(monitor['users']), 1)
  58. self.assertEqual(int(monitor['users_inactive']), 1)
  59. self.assertEqual(int(monitor['last_user']), user_a.pk)
  60. self.assertEqual(monitor['last_user_name'], user_a.username)
  61. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)