30 lines
881 B
Python
30 lines
881 B
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 guess_number 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, ('/猜数字 开始 [上限];/猜 数字;/猜数字 [状态|结束]',))
|
|
self.assertIn('/猜数字', registered)
|
|
self.assertEqual(len(registered), 2)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|