[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 import re
# Django # Django
from django.contrib.auth.models import Group, User from django.contrib.auth.models import User
from django.test import TestCase from django.test import TestCase
# Alliance Auth # Alliance Auth
from allianceauth.framework.api.user import ( from allianceauth.framework.api.user import (
get_sentinel_user, get_sentinel_user,
get_main_character_from_user,
get_main_character_name_from_user get_main_character_name_from_user
) )
from allianceauth.tests.auth_utils import AuthUtils from allianceauth.tests.auth_utils import AuthUtils
@ -66,16 +67,65 @@ class TestGetMainForUser(TestCase):
super().setUpClass() super().setUpClass()
character_name = "William T. Riker" cls.character_name = "William T. Riker"
username = re.sub(pattern=r"[^\w\d@\.\+-]", repl="_", string=character_name) cls.character_name_2 = "Christopher Pike"
cls.user = AuthUtils.create_user(username=username) cls.username = re.sub(pattern=r"[^\w\d@\.\+-]", repl="_", string=cls.character_name)
cls.group = Group.objects.create(name="Enterprise Crew") cls.username_2 = re.sub(
pattern=r"[^\w\d@\.\+-]", repl="_", string=cls.character_name_2
AuthUtils.add_main_character_2(
user=cls.user, name=character_name, character_id=1001
) )
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): def test_get_main_character_name_from_user_should_return_character_name(self):
""" """
Test should return the main character name for a regular user 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) 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): 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: :return:
:rtype: :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=self.username_2)
self.assertEqual(first=character_name, second="John Doe")
def test_get_main_character_name_from_user_should_return_sentinel_user(self): 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") 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 Test should return "deleted" (Sentinel User) if user is None