|
|
|
@ -1,3 +1,42 @@ |
|
|
|
from django.contrib.auth import get_user_model |
|
|
|
from django.test import TestCase |
|
|
|
|
|
|
|
# Create your tests here. |
|
|
|
|
|
|
|
class UsersManagersTests(TestCase): |
|
|
|
|
|
|
|
def test_create_user(self): |
|
|
|
User = get_user_model() |
|
|
|
user = User.objects.create_user(email="normal@user.com", password="foo") |
|
|
|
self.assertEqual(user.email, "normal@user.com") |
|
|
|
self.assertTrue(user.is_active) |
|
|
|
self.assertFalse(user.is_staff) |
|
|
|
self.assertFalse(user.is_superuser) |
|
|
|
try: |
|
|
|
# username is None for the AbstractUser option |
|
|
|
# username does not exist for the AbstractBaseUser option |
|
|
|
self.assertIsNone(user.username) |
|
|
|
except AttributeError: |
|
|
|
pass |
|
|
|
with self.assertRaises(TypeError): |
|
|
|
User.objects.create_user() |
|
|
|
with self.assertRaises(TypeError): |
|
|
|
User.objects.create_user(email="") |
|
|
|
with self.assertRaises(ValueError): |
|
|
|
User.objects.create_user(email="", password="foo") |
|
|
|
|
|
|
|
def test_create_superuser(self): |
|
|
|
User = get_user_model() |
|
|
|
admin_user = User.objects.create_superuser(email="super@user.com", password="foo") |
|
|
|
self.assertEqual(admin_user.email, "super@user.com") |
|
|
|
self.assertTrue(admin_user.is_active) |
|
|
|
self.assertTrue(admin_user.is_staff) |
|
|
|
self.assertTrue(admin_user.is_superuser) |
|
|
|
try: |
|
|
|
# username is None for the AbstractUser option |
|
|
|
# username does not exist for the AbstractBaseUser option |
|
|
|
self.assertIsNone(admin_user.username) |
|
|
|
except AttributeError: |
|
|
|
pass |
|
|
|
with self.assertRaises(ValueError): |
|
|
|
User.objects.create_superuser( |
|
|
|
email="super@user.com", password="foo", is_superuser=False) |