30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
import sys
|
||
import unittest
|
||
from pathlib import Path
|
||
from unittest import mock
|
||
|
||
|
||
SOURCE = Path(__file__).resolve().parents[1] / "src"
|
||
sys.path.insert(0, str(SOURCE))
|
||
|
||
from single_player_games import AUTHOR, DESCRIPTION, HELP_ENTRIES, plugin
|
||
|
||
|
||
class PluginTests(unittest.TestCase):
|
||
def test_registers_declared_commands_and_author(self):
|
||
context = mock.Mock()
|
||
plugin(context)
|
||
registered = [
|
||
call.args[0]
|
||
for call in context.commands.register.call_args_list
|
||
]
|
||
self.assertEqual(AUTHOR, 'jwebot')
|
||
self.assertEqual(DESCRIPTION, '金币游戏')
|
||
self.assertEqual(HELP_ENTRIES, ('/金币 /wallet;/游戏记录 /gamehistory', '/抽奖 [金额];/draw', '/彩票 开始|报名|状态|开奖|取消;/lottery', '/21点 开始 [1~500];/blackjack start', '/21点 要牌|停牌|状态|结束;/blackjack', '/游戏帮助;/games'))
|
||
self.assertIn('/金币', registered)
|
||
self.assertEqual(len(registered), 15)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
unittest.main()
|