user_manager_create_user.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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
  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. user_a = User.objects.create_user('Lemmiwinks', 'lemm@sp.com', '123pass')
  12. try:
  13. user_from_db = User.objects.get(username=user_a.username)
  14. user_from_db = User.objects.get(email=user_a.email)
  15. except User.DoesNotExist:
  16. raise AssertionError("User A was not saved in database!")
  17. monitor = Monitor()
  18. self.assertEqual(int(monitor['users']), 1)
  19. self.assertEqual(int(monitor['users_inactive']), 0)
  20. self.assertEqual(int(monitor['last_user']), user_a.pk)
  21. self.assertEqual(monitor['last_user_name'], user_a.username)
  22. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  23. user_b = User.objects.create_user('InactiveTest', 'lemsm@sp.com', '123pass', activation=User.ACTIVATION_USER)
  24. try:
  25. user_from_db = User.objects.get(username=user_b.username)
  26. user_from_db = User.objects.get(email=user_b.email)
  27. self.assertEqual(user_from_db.activation, User.ACTIVATION_USER)
  28. except User.DoesNotExist:
  29. raise AssertionError("User B was not saved in database!")
  30. monitor = Monitor()
  31. self.assertEqual(int(monitor['users']), 1)
  32. self.assertEqual(int(monitor['users_inactive']), 1)
  33. self.assertEqual(int(monitor['last_user']), user_a.pk)
  34. self.assertEqual(monitor['last_user_name'], user_a.username)
  35. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  36. try:
  37. user_c = User.objects.create_user('UsedMail', 'lemsm@sp.com', '123pass')
  38. raise AssertionError("Created user account with taken e-mail address!")
  39. except ValidationError:
  40. pass
  41. monitor = Monitor()
  42. self.assertEqual(int(monitor['users']), 1)
  43. self.assertEqual(int(monitor['users_inactive']), 1)
  44. self.assertEqual(int(monitor['last_user']), user_a.pk)
  45. self.assertEqual(monitor['last_user_name'], user_a.username)
  46. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  47. try:
  48. user_d = User.objects.create_user('InactiveTest', 'user@name.com', '123pass')
  49. raise AssertionError("Created user account with taken username!")
  50. except ValidationError:
  51. pass
  52. monitor = Monitor()
  53. self.assertEqual(int(monitor['users']), 1)
  54. self.assertEqual(int(monitor['users_inactive']), 1)
  55. self.assertEqual(int(monitor['last_user']), user_a.pk)
  56. self.assertEqual(monitor['last_user_name'], user_a.username)
  57. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)