diff --git a/allianceauth/framework/tests/test_api_user.py b/allianceauth/framework/tests/test_api_user.py index 957beb21..1b43b75c 100644 --- a/allianceauth/framework/tests/test_api_user.py +++ b/allianceauth/framework/tests/test_api_user.py @@ -5,12 +5,13 @@ Test sentinel user import re # Django -from django.contrib.auth.models import Group, User +from django.contrib.auth.models import User from django.test import TestCase # Alliance Auth from allianceauth.framework.api.user import ( get_sentinel_user, + get_main_character_from_user, get_main_character_name_from_user ) from allianceauth.tests.auth_utils import AuthUtils @@ -66,16 +67,65 @@ class TestGetMainForUser(TestCase): super().setUpClass() - character_name = "William T. Riker" - username = re.sub(pattern=r"[^\w\d@\.\+-]", repl="_", string=character_name) + cls.character_name = "William T. Riker" + cls.character_name_2 = "Christopher Pike" - cls.user = AuthUtils.create_user(username=username) - cls.group = Group.objects.create(name="Enterprise Crew") - - AuthUtils.add_main_character_2( - user=cls.user, name=character_name, character_id=1001 + cls.username = re.sub(pattern=r"[^\w\d@\.\+-]", repl="_", string=cls.character_name) + cls.username_2 = re.sub( + pattern=r"[^\w\d@\.\+-]", repl="_", string=cls.character_name_2 ) + cls.user = AuthUtils.create_user(username=cls.username) + cls.user_without_main = AuthUtils.create_user( + username=cls.username_2, disconnect_signals=True + ) + + cls.character = AuthUtils.add_main_character_2( + user=cls.user, name=cls.character_name, character_id=1001 + ) + + + def test_get_main_character_from_user_should_return_character_name(self): + """ + Test should return the main character name for a regular user + + :return: + :rtype: + """ + + character = get_main_character_from_user(user=self.user) + + self.assertEqual(first=character, second=self.character) + + + def test_get_main_character_from_user_should_return_none_for_no_main_character(self): + """ + Test should return None for User without a main character + + :return: + :rtype: + """ + + character = get_main_character_from_user(user=self.user_without_main) + + self.assertIsNone(obj=character) + + + def test_get_main_character_from_user_should_none(self): + """ + Test should return None when user is None + + :return: + :rtype: + """ + + user = None + + character = get_main_character_from_user(user=user) + + self.assertIsNone(obj=character) + + def test_get_main_character_name_from_user_should_return_character_name(self): """ Test should return the main character name for a regular user @@ -86,21 +136,19 @@ class TestGetMainForUser(TestCase): character_name = get_main_character_name_from_user(user=self.user) - self.assertEqual(first=character_name, second="William T. Riker") + self.assertEqual(first=character_name, second=self.character_name) def test_get_main_character_name_from_user_should_return_user_name(self): """ - Test should return just the username for a user without a character + Test should return just the username for a user without a main character :return: :rtype: """ - user = AuthUtils.create_user(username="John Doe") + character_name = get_main_character_name_from_user(user=self.user_without_main) - character_name = get_main_character_name_from_user(user=user) - - self.assertEqual(first=character_name, second="John Doe") + self.assertEqual(first=character_name, second=self.username_2) def test_get_main_character_name_from_user_should_return_sentinel_user(self): """ @@ -116,7 +164,7 @@ class TestGetMainForUser(TestCase): self.assertEqual(first=character_name, second="deleted") - def test_get_main_character_from_user_should_return_sentinel_user_for_none(self): + def test_get_main_character_name_from_user_should_return_sentinel_user_for_none(self): """ Test should return "deleted" (Sentinel User) if user is None