test_createsuperuser.py 958 B

12345678910111213141516171819202122232425262728293031323334
  1. from io import StringIO
  2. from django.contrib.auth import get_user_model
  3. from django.core.management import call_command
  4. from django.test import TestCase
  5. UserModel = get_user_model()
  6. class CreateSuperuserTests(TestCase):
  7. def test_valid_input_creates_superuser(self):
  8. """command creates superuser"""
  9. out = StringIO()
  10. call_command(
  11. "createsuperuser",
  12. interactive=False,
  13. username="joe",
  14. email="joe@somewhere.org",
  15. password="Pass.123",
  16. stdout=out,
  17. )
  18. new_user = UserModel.objects.order_by('-id')[:1][0]
  19. self.assertEqual(
  20. out.getvalue().splitlines()[-1].strip(),
  21. 'Superuser #%s has been created successfully.' % new_user.pk,
  22. )
  23. self.assertEqual(new_user.username, 'joe')
  24. self.assertEqual(new_user.email, 'joe@somewhere.org')
  25. self.assertTrue(new_user.check_password("Pass.123"))