mirror of
https://gitflic.ru/project/maks1ms/ocab.git
synced 2025-11-28 10:21:55 +03:00
Исправлены импорты внутри модулей, добавлены: модуль для исключений, скрипт инициализации путей, переделано подключение к бд
This commit is contained in:
50
src/modules/standard/roles/tests/test_roles.py
Normal file
50
src/modules/standard/roles/tests/test_roles.py
Normal file
@@ -0,0 +1,50 @@
|
||||
import os
|
||||
import unittest
|
||||
from ...database.api import create_tables, connect_database, add_user
|
||||
from ..api import Roles
|
||||
|
||||
|
||||
class TestRoles(unittest.IsolatedAsyncioTestCase):
|
||||
database = None
|
||||
path = None
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.roles = Roles()
|
||||
cls.database, cls.path = connect_database(is_test=True, module="roles")
|
||||
create_tables(cls.database)
|
||||
|
||||
add_user(user_id=1, user_name="TestUser1", user_tag="TestTag1", user_role=0, user_stats=30, user_rep=15)
|
||||
add_user(user_id=2, user_name="TestUser3", user_tag="TestTag3", user_role=1, user_stats=30, user_rep=15)
|
||||
add_user(user_id=3, user_name="TestUser4", user_tag="TestTag4", user_role=2, user_stats=30, user_rep=15)
|
||||
add_user(user_id=4, user_name="TestUser2", user_tag="TestTag2", user_role=3, user_stats=30, user_rep=15)
|
||||
async def test_check_admin_permission(cls):
|
||||
cls.assertTrue(await cls.roles.check_admin_permission(1))
|
||||
cls.assertFalse(await cls.roles.check_admin_permission(2))
|
||||
cls.assertFalse(await cls.roles.check_admin_permission(3))
|
||||
cls.assertFalse(await cls.roles.check_admin_permission(4))
|
||||
|
||||
async def test_check_moderator_permission(cls):
|
||||
cls.assertTrue(await cls.roles.check_moderator_permission(2))
|
||||
cls.assertFalse(await cls.roles.check_moderator_permission(0))
|
||||
cls.assertFalse(await cls.roles.check_moderator_permission(1))
|
||||
cls.assertFalse(await cls.roles.check_moderator_permission(3))
|
||||
|
||||
async def test_get_role_name(cls):
|
||||
cls.assertEqual(await cls.roles.get_role_name(cls.roles.admin_role_id), "ADMIN")
|
||||
cls.assertEqual(await cls.roles.get_role_name(cls.roles.moderator_role_id), "MODERATOR")
|
||||
cls.assertEqual(await cls.roles.get_role_name(cls.roles.user_role_id), "USER")
|
||||
cls.assertEqual(await cls.roles.get_role_name(cls.roles.bot_role_id), "BOT")
|
||||
with cls.assertRaises(ValueError):
|
||||
await cls.roles.get_role_name(999) # Несуществующий ID роли
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.database.close()
|
||||
os.system(f"rm {cls.path}")
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user