[ADD] Some more tests

This commit is contained in:
Peter Pfeufer 2023-11-03 20:18:01 +01:00
parent 21e80f6961
commit d2edd288f9
No known key found for this signature in database
GPG Key ID: 6051D2C6AD4EBC27

View File

@ -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