def test_clean_normalize_email_address_as_username(self): # type: ignore # Unicode characters that look the same but are different ones. email_address_original_ohm = 'iamtheΩ@example.com' # U+2126 OHM SIGN email_address_normalized_omega = 'iamtheΩ@example.com' # U+03A9 GREEK CAPITAL LETTER OMEGA user = User(email_address=email_address_original_ohm) # Apply normalization. user.clean() email_address = user.get_username() self.assertNotEqual(email_address, email_address_original_ohm) self.assertEqual(email_address, email_address_normalized_omega)
def test_builtin_user_isactive(self): # type: ignore user_creator = User.objects.create_user( email_address='*****@*****.**') user = User(email_address='*****@*****.**', created_by=user_creator) # is_active is true by default self.assertIs(user.is_active, True) user.is_active = False # note: need to set a password or 'full_clean()' raises a ValidationError. user.set_unusable_password() user.save() user_fetched = User.objects.get(pk=user.pk) # the is_active flag is saved self.assertFalse(user_fetched.is_active)
def test_created_by(self): # type: ignore user_creator = User.objects.create_user( email_address='*****@*****.**') user = User(email_address='*****@*****.**', created_by=user_creator) user.set_password('foo') user.save() self.assertEqual(user.created_by, user_creator) # Test field attribute 'related_name'. self.assertListEqual(list(user_creator.users_created.all()), [user])
def test_eq(self): # type: ignore self.assertEqual(self.user, AnonymousUser()) self.assertNotEqual(self.user, User('super', '*****@*****.**', 'super'))
def test_deactivate(self): # type: ignore user_creator = User.objects.create_user( email_address='*****@*****.**') user = User(email_address='*****@*****.**', created_by=user_creator) # note: need to set a password or 'full_clean()' raises a ValidationError. user.set_password('foo') user.save() self.assertTrue(user.is_active) self.assertIsNone(user.deactivated_at) user.deactivate() user.refresh_from_db() self.assertFalse(user.is_active) deactivated_at_1 = user.deactivated_at self.assertIsNotNone(user.deactivated_at) user.deactivate() user.refresh_from_db() self.assertFalse(user.is_active) deactivated_at_2 = user.deactivated_at self.assertEqual(deactivated_at_1, deactivated_at_2)
def test_default_email(self): # type: ignore user = User() self.assertEqual(user.get_email_field_name(), 'email_address')
def test_user_clean_normalize_email(self): # type: ignore user = User(email_address='*****@*****.**') user.clean() self.assertEqual(user.email_address, '*****@*****.**')