I keep failing a test case that tests whether the email passed into the create_user
function is normalized correctly. However the normalize_email()
method does not seem to be working properly.
test_modles.py
from django.test import TestCase
from django.contrib.auth import get_user_model
class ModelTests(TestCase):
def test_new_user_email_normalized(self):
"""Test the email for a new user is normalized"""
email = 'TEST.TES.com'
user = get_user_model().objects.create_user(
email,
'test1213'
)
self.assertEqual(user.email, email.lower())
models.py
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager,
PermissionsMixin
class UserManager(BaseUserManager):
def create_user(self, email, password=None, **extra_fields):
"""Creates and saves a new user"""
user = self.model(email=self.normalize_email(email), **extra_fields)
user.set_password(password)
user.save(using=self._db)
return user
class User(AbstractBaseUser, PermissionsMixin):
"""Custome user model that supports using email instead of username"""
email = models.EmailField(max_length=255, unique=True)
name = models.CharField(max_length=255)
is_active = models.BooleanField(default=True)
is_teamMember = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = 'email'
error
======================================================================
FAIL: test_new_user_email_normalized (core.tests.test_models.ModelTests)
Test the email for a new user is normalized
----------------------------------------------------------------------
Traceback (most recent call last):
File "/app/core/tests/test_models.py", line 27, in test_new_user_email_normalized
self.assertEqual(user.email, email.lower())
AssertionError: 'TEST.TES.com' != 'test.tes.com'
- TEST.TES.com
+ test.tes.com
----------------------------------------------------------------------
Ran 2 tests in 0.484s
FAILED (failures=1)
question from:
https://stackoverflow.com/questions/65647170/django-rest-api-testcase-normalize-email-failing 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…