def test__execute_command_should_call_action_correctly(self): tcb = TelegramController() tcb._send_text_message = MagicMock() tcb.main_keyboard = "mango keyboard" dummy_command_list = [ { "guide": "{0:15}자동 거래 시작".format("1. 시작"), "cmd": ["시작", "1", "1. 시작"], "action": MagicMock(), }, { "guide": "{0:15}자동 거래 중지".format("2. 중지"), "cmd": ["중지", "2", "2. 중지"], "action": MagicMock(), }, ] tcb.command_list = dummy_command_list tcb._execute_command("안녕~") tcb._send_text_message.assert_called_once_with( "자동 거래 시작 전입니다.\n명령어를 입력해주세요.\n\n1. 시작 자동 거래 시작\n2. 중지 자동 거래 중지\n", "mango keyboard", ) tcb._execute_command("1") dummy_command_list[0]["action"].assert_called_with("1") tcb._execute_command("시작") dummy_command_list[0]["action"].assert_called_with("시작") tcb._execute_command("2") dummy_command_list[1]["action"].assert_called_with("2") tcb._execute_command("중지") dummy_command_list[1]["action"].assert_called_with("중지") dummy_in_progress = MagicMock() tcb.in_progress = dummy_in_progress tcb._execute_command("2. 중지") dummy_in_progress.assert_called_once_with("2. 중지")
def test__create_command_should_fill_command_list_correctly(self): tcb = TelegramController() tcb.command_list = [] tcb._create_command() self.assertEqual(len(tcb.command_list), 5)