123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- from django.contrib.auth import get_user_model
- from django.test import TestCase
- from misago.users.models import Rank
- from misago.users.utils import hash_email
- User = get_user_model()
- class UserCreationTests(TestCase):
- def test_user_is_created(self):
- user = User.objects.create_user("User", "test@example.com")
- assert user.pk
- assert user.joined_on
- def test_user_is_created_with_username_and_slug(self):
- user = User.objects.create_user("UserName", "test@example.com")
- assert user.slug == "username"
- def test_user_is_created_with_normalized_email_and_email_hash(self):
- user = User.objects.create_user("User", "test@eXamPLe.com")
- assert user.email == "test@example.com"
- assert user.email_hash == hash_email(user.email)
- def test_user_is_created_with_online_tracker(self):
- user = User.objects.create_user("User", "test@example.com")
- assert user.online_tracker
- assert user.online_tracker.last_click == user.last_login
- def test_user_is_created_with_useable_password(self):
- password = "password"
- user = User.objects.create_user("UserUserame", "test@example.com", password)
- assert user.check_password(password)
- def test_user_is_created_with_default_rank(self):
- user = User.objects.create_user("User", "test@example.com")
- assert user.rank == Rank.objects.get_default()
- def test_user_is_created_with_custom_rank(self):
- rank = Rank.objects.create(name="Test rank")
- user = User.objects.create_user("User", "test@example.com", rank=rank)
- assert user.rank == rank
- def test_newly_created_user_last_login_is_same_as_join_date(self):
- user = User.objects.create_user("User", "test@example.com")
- assert user.last_login == user.joined_on
- def test_user_is_created_with_authenticated_role(self):
- user = User.objects.create_user("User", "test@example.com")
- assert user.roles.get(special_role="authenticated")
- def test_user_is_created_with_diacritics_in_email(self):
- email = "łóć@łexąmple.com"
- user = User.objects.create_user("UserName", email)
- assert user.email == email
- def test_creating_user_without_username_raises_value_error(self):
- with self.assertRaises(ValueError):
- User.objects.create_user("", "test@example.com")
- def test_creating_user_without_email_raises_value_error(self):
- with self.assertRaises(ValueError):
- User.objects.create_user("User", "")
- def test_create_superuser(self):
- user = User.objects.create_superuser("User", "test@example.com")
- assert user.is_staff
- assert user.is_superuser
- def test_superuser_is_created_with_team_rank(self):
- user = User.objects.create_superuser("User", "test@example.com")
- assert "team" in str(user.rank)
- def test_creating_superuser_without_staff_status_raises_value_error(self):
- with self.assertRaises(ValueError):
- user = User.objects.create_superuser(
- "User", "test@example.com", is_staff=False
- )
- def test_creating_superuser_without_superuser_status_raises_value_error(self):
- with self.assertRaises(ValueError):
- user = User.objects.create_superuser(
- "User", "test@example.com", is_superuser=False
- )
|