testuseradd.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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, Rank, Role
  5. from misago.monitor import Monitor
  6. class UserAddTestCase(TestCase):
  7. def setUp(self):
  8. call_command('startmisago', quiet=True)
  9. def test_user_from_model(self):
  10. """Test User.objects.create_user"""
  11. user_a = User.objects.create_user('Lemmiwinks', 'lemm@sp.com', '123pass')
  12. monitor = Monitor()
  13. self.assertEqual(int(monitor['users']), 1)
  14. self.assertEqual(int(monitor['users_inactive']), 0)
  15. self.assertEqual(int(monitor['last_user']), user_a.pk)
  16. self.assertEqual(monitor['last_user_name'], user_a.username)
  17. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  18. user_b = User.objects.create_user('InactiveTest', 'lemsm@sp.com', '123pass', activation=User.ACTIVATION_USER)
  19. monitor = Monitor()
  20. self.assertEqual(int(monitor['users']), 1)
  21. self.assertEqual(int(monitor['users_inactive']), 1)
  22. self.assertEqual(int(monitor['last_user']), user_a.pk)
  23. self.assertEqual(monitor['last_user_name'], user_a.username)
  24. self.assertEqual(monitor['last_user_slug'], user_a.username_slug)
  25. try:
  26. user_c = User.objects.create_user('UsedMail', 'lemsm@sp.com', '123pass')
  27. raise AssertionError("Created user account with taken e-mail address!")
  28. except ValidationError:
  29. pass
  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_d = User.objects.create_user('InactiveTest', 'user@name.com', '123pass')
  38. raise AssertionError("Created user account with taken username!")
  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)