Added /info test #139
This commit is contained in:
parent
77d723b9da
commit
7260ed0164
@ -20,6 +20,8 @@
|
|||||||
"TestSettings": {
|
"TestSettings": {
|
||||||
"LoginUrl": "https://discord.com/login",
|
"LoginUrl": "https://discord.com/login",
|
||||||
"MePageUrl": "https://discord.com/channels/@me",
|
"MePageUrl": "https://discord.com/channels/@me",
|
||||||
"CmdURL": "https://discord.com/channels/910199451145076828/911578636899987526"
|
"CmdURL": "https://discord.com/channels/910199451145076828/911578636899987526",
|
||||||
|
"GuildId": 910199451145076828,
|
||||||
|
"BotId": 998159802393964594
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,6 +12,8 @@ class TestSettings(ConfigurationModelABC):
|
|||||||
self._login_url = ''
|
self._login_url = ''
|
||||||
self._me_page_url = ''
|
self._me_page_url = ''
|
||||||
self._cmd_url = ''
|
self._cmd_url = ''
|
||||||
|
self._guild_id = 0
|
||||||
|
self._bot_id = 0
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def login_url(self) -> str:
|
def login_url(self) -> str:
|
||||||
@ -25,11 +27,21 @@ class TestSettings(ConfigurationModelABC):
|
|||||||
def cmd_url(self) -> str:
|
def cmd_url(self) -> str:
|
||||||
return self._cmd_url
|
return self._cmd_url
|
||||||
|
|
||||||
|
@property
|
||||||
|
def guild_id(self) -> int:
|
||||||
|
return self._guild_id
|
||||||
|
|
||||||
|
@property
|
||||||
|
def bot_id(self) -> int:
|
||||||
|
return self._bot_id
|
||||||
|
|
||||||
def from_dict(self, settings: dict):
|
def from_dict(self, settings: dict):
|
||||||
try:
|
try:
|
||||||
self._login_url = settings['LoginUrl']
|
self._login_url = settings['LoginUrl']
|
||||||
self._me_page_url = settings['MePageUrl']
|
self._me_page_url = settings['MePageUrl']
|
||||||
self._cmd_url = settings['CmdURL']
|
self._cmd_url = settings['CmdURL']
|
||||||
|
self._guild_id = settings['GuildId']
|
||||||
|
self._bot_id = settings['BotId']
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
Console.error(f'[ ERROR ] [ {__name__} ]: Reading error in {type(self).__name__} settings')
|
Console.error(f'[ ERROR ] [ {__name__} ]: Reading error in {type(self).__name__} settings')
|
||||||
Console.error(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
|
Console.error(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
|
||||||
|
@ -4,7 +4,7 @@ from ui_tests_shared.command_test_case_with_app import CommandTestCaseWithApp
|
|||||||
from ui_tests_shared.decorators import Async
|
from ui_tests_shared.decorators import Async
|
||||||
|
|
||||||
|
|
||||||
class HelpTestCase(CommandTestCaseWithApp):
|
class HelpCommandTestCase(CommandTestCaseWithApp):
|
||||||
|
|
||||||
@Async.test
|
@Async.test
|
||||||
async def test_help(self):
|
async def test_help(self):
|
||||||
@ -12,7 +12,7 @@ class HelpTestCase(CommandTestCaseWithApp):
|
|||||||
self.send_command('help')
|
self.send_command('help')
|
||||||
|
|
||||||
def check(m: discord.Message):
|
def check(m: discord.Message):
|
||||||
return m.content == correct_response and m.author.id == 998159802393964594
|
return m.content == correct_response and m.author.id == self._test_settings.bot_id
|
||||||
|
|
||||||
response = await self._bot.wait_for('message', check=check)
|
response = await self._bot.wait_for('message', check=check)
|
||||||
self.assertEqual(response.content, correct_response)
|
self.assertEqual(response.content, correct_response)
|
@ -0,0 +1,48 @@
|
|||||||
|
from datetime import datetime
|
||||||
|
import discord
|
||||||
|
|
||||||
|
import bot
|
||||||
|
from bot_core.abc.client_utils_service_abc import ClientUtilsServiceABC
|
||||||
|
from ui_tests_shared.command_test_case_with_app import CommandTestCaseWithApp
|
||||||
|
from ui_tests_shared.decorators import Async
|
||||||
|
|
||||||
|
|
||||||
|
class HelpCommandTestCase(CommandTestCaseWithApp):
|
||||||
|
|
||||||
|
def get_embed(self) -> discord.Embed:
|
||||||
|
client_utils: ClientUtilsServiceABC = self._services.get_service(ClientUtilsServiceABC)
|
||||||
|
client = client_utils.get_client(self._bot.user.id, self._test_settings.guild_id)
|
||||||
|
embed = discord.Embed(
|
||||||
|
title=self._t.transform('modules.base.info.title'),
|
||||||
|
description=self._t.transform('modules.base.info.description'),
|
||||||
|
color=int('ef9d0d', 16)
|
||||||
|
)
|
||||||
|
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.version'), value=bot.__version__)
|
||||||
|
start_time = self._config.get_configuration('Bot_StartTime')
|
||||||
|
ontime = round((datetime.now() - datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S.%f')).total_seconds() / 3600, 2)
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.ontime'), value=f'{ontime}h')
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.sent_message_count'), value=client.sent_message_count, inline=False)
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.received_message_count'), value=client.received_message_count)
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.deleted_message_count'), value=client.deleted_message_count, inline=False)
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.received_command_count'), value=client.received_command_count)
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.moved_users_count'), value=client.moved_users_count)
|
||||||
|
from bot.module_list import ModuleList
|
||||||
|
modules = ModuleList.get_modules()
|
||||||
|
modules = modules.select(lambda x: x.__name__.replace('Module', ''))
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.info.fields.modules'), value='\n'.join(modules), inline=False)
|
||||||
|
return embed
|
||||||
|
|
||||||
|
@Async.test
|
||||||
|
async def test_info(self):
|
||||||
|
correct_response = self.get_embed()
|
||||||
|
self.send_command('info')
|
||||||
|
|
||||||
|
def check(m: discord.Message):
|
||||||
|
return m.content == correct_response and m.author.id == self._test_settings.bot_id
|
||||||
|
|
||||||
|
response: discord.Message = await self._bot.wait_for('message', check=check)
|
||||||
|
self.assertEqual(len(response.embeds), 1)
|
||||||
|
|
||||||
|
self.assertEqual(response.embeds[0], correct_response)
|
||||||
|
await self._bot.close()
|
@ -4,7 +4,7 @@ from ui_tests_shared.command_test_case_with_app import CommandTestCaseWithApp
|
|||||||
from ui_tests_shared.decorators import Async
|
from ui_tests_shared.decorators import Async
|
||||||
|
|
||||||
|
|
||||||
class PingTestCase(CommandTestCaseWithApp):
|
class PingCommandTestCase(CommandTestCaseWithApp):
|
||||||
|
|
||||||
@Async.test
|
@Async.test
|
||||||
async def test_ping(self):
|
async def test_ping(self):
|
||||||
@ -13,7 +13,7 @@ class PingTestCase(CommandTestCaseWithApp):
|
|||||||
self.send_command('ping')
|
self.send_command('ping')
|
||||||
|
|
||||||
def check(m: discord.Message):
|
def check(m: discord.Message):
|
||||||
return m.content == correct_response and m.author.id == 998159802393964594
|
return m.content == correct_response and m.author.id == self._test_settings.bot_id
|
||||||
|
|
||||||
response = await self._bot.wait_for('message', check=check)
|
response = await self._bot.wait_for('message', check=check)
|
||||||
self.assertEqual(response.content, correct_response)
|
self.assertEqual(response.content, correct_response)
|
Loading…
Reference in New Issue
Block a user