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 dice 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, ('/丢骰子 [NdM]', '/丢骰子挑战 [5d6|5d20|状态|结算|战绩|结束]')) self.assertIn('/丢骰子', registered) self.assertEqual(len(registered), 4) if __name__ == "__main__": unittest.main()