diff --git a/tests/test_force_replay.py b/tests/test_force_replay.py new file mode 100644 index 000000000..e0d904f99 --- /dev/null +++ b/tests/test_force_replay.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# A library that provides a Python interface to the Telegram Bot API +# Copyright (C) 2015-2016 +# Leandro Toledo de Souza +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see [http://www.gnu.org/licenses/]. + +"""This module contains a object that represents Tests for Telegram ForceReply""" + +import unittest +import sys +sys.path.append('.') + +import telegram +from tests.base import BaseTest + + +class ForceReplyTest(BaseTest, unittest.TestCase): + """This object represents Tests for Telegram ForceReply.""" + + def setUp(self): + self.force_reply = True + self.selective = True + + self.json_dict = { + 'force_reply': self.force_reply, + 'selective': self.selective, + } + + def test_send_message_with_force_reply(self): + """Test telegram.Bot sendMessage method with ForceReply""" + print('Testing bot.sendMessage - with ForceReply') + + message = self._bot.sendMessage(self._chat_id, + 'Моё судно на воздушной подушке полно угрей', + reply_markup=telegram.ForceReply.de_json(self.json_dict)) + + self.assertTrue(self.is_json(message.to_json())) + self.assertEqual(message.text, u'Моё судно на воздушной подушке полно угрей') + + def test_force_reply_de_json(self): + """Test ForceReply.de_json() method""" + print('Testing ForceReply.de_json()') + + force_reply = telegram.ForceReply.de_json(self.json_dict) + + self.assertEqual(force_reply.force_reply, self.force_reply) + self.assertEqual(force_reply.selective, self.selective) + + def test_force_reply_to_json(self): + """Test ForceReply.to_json() method""" + print('Testing ForceReply.to_json()') + + force_reply = telegram.ForceReply.de_json(self.json_dict) + + self.assertTrue(self.is_json(force_reply.to_json())) + + def test_force_reply_to_dict(self): + """Test ForceReply.to_dict() method""" + print('Testing ForceReply.to_dict()') + + force_reply = telegram.ForceReply.de_json(self.json_dict) + + self.assertEqual(force_reply['force_reply'], self.force_reply) + self.assertEqual(force_reply['selective'], self.selective) + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_reply_keyboard_hide.py b/tests/test_reply_keyboard_hide.py new file mode 100644 index 000000000..4ffca8840 --- /dev/null +++ b/tests/test_reply_keyboard_hide.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# A library that provides a Python interface to the Telegram Bot API +# Copyright (C) 2015-2016 +# Leandro Toledo de Souza +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see [http://www.gnu.org/licenses/]. + +"""This module contains a object that represents Tests for Telegram ReplyKeyboardHide""" + +import unittest +import sys +sys.path.append('.') + +import telegram +from tests.base import BaseTest + + +class ReplyKeyboardHideTest(BaseTest, unittest.TestCase): + """This object represents Tests for Telegram ReplyKeyboardHide.""" + + def setUp(self): + self.hide_keyboard = True + self.selective = True + + self.json_dict = { + 'hide_keyboard': self.hide_keyboard, + 'selective': self.selective, + } + + def test_send_message_with_reply_keyboard_hide(self): + """Test telegram.Bot sendMessage method with ReplyKeyboardHide""" + print('Testing bot.sendMessage - with ReplyKeyboardHide') + + message = self._bot.sendMessage(self._chat_id, + 'Моё судно на воздушной подушке полно угрей', + reply_markup=telegram.ReplyKeyboardHide.de_json(self.json_dict)) + + self.assertTrue(self.is_json(message.to_json())) + self.assertEqual(message.text, u'Моё судно на воздушной подушке полно угрей') + + def test_reply_keyboard_hide_de_json(self): + """Test ReplyKeboardHide.de_json() method""" + print('Testing ReplyKeyboardHide.de_json()') + + reply_keyboard_hide = telegram.ReplyKeyboardHide.de_json(self.json_dict) + + self.assertEqual(reply_keyboard_hide.hide_keyboard, self.hide_keyboard) + self.assertEqual(reply_keyboard_hide.selective, self.selective) + + def test_reply_keyboard_hide_to_json(self): + """Test ReplyKeyboardHide.to_json() method""" + print('Testing ReplyKeyboardHide.to_json()') + + reply_keyboard_hide = telegram.ReplyKeyboardHide.de_json(self.json_dict) + + self.assertTrue(self.is_json(reply_keyboard_hide.to_json())) + + def test_reply_keyboard_hide_to_dict(self): + """Test ReplyKeyboardHide.to_dict() method""" + print('Testing ReplyKeyboardHide.to_dict()') + + reply_keyboard_hide = telegram.ReplyKeyboardHide.de_json(self.json_dict) + + self.assertEqual(reply_keyboard_hide['hide_keyboard'], self.hide_keyboard) + self.assertEqual(reply_keyboard_hide['selective'], self.selective) + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_reply_keyboard_markup.py b/tests/test_reply_keyboard_markup.py new file mode 100644 index 000000000..90b83c530 --- /dev/null +++ b/tests/test_reply_keyboard_markup.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# A library that provides a Python interface to the Telegram Bot API +# Copyright (C) 2015-2016 +# Leandro Toledo de Souza +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see [http://www.gnu.org/licenses/]. + +"""This module contains a object that represents Tests for Telegram ReplyKeyboardMarkup""" + +import unittest +import sys +sys.path.append('.') + +import telegram +from tests.base import BaseTest + + +class ReplyKeyboardMarkupTest(BaseTest, unittest.TestCase): + """This object represents Tests for Telegram ReplyKeyboardMarkup.""" + + def setUp(self): + self.keyboard = [['button1', 'button2']] + self.resize_keyboard = True + self.one_time_keyboard = True + self.selective = True + + self.json_dict = { + 'keyboard': self.keyboard, + 'resize_keyboard': self.resize_keyboard, + 'one_time_keyboard': self.one_time_keyboard, + 'selective': self.selective, + } + + def test_send_message_with_reply_keyboard_markup(self): + """Test telegram.Bot sendMessage method with ReplyKeyboardMarkup""" + print('Testing bot.sendMessage - with ReplyKeyboardMarkup') + + message = self._bot.sendMessage(self._chat_id, + 'Моё судно на воздушной подушке полно угрей', + reply_markup=telegram.ReplyKeyboardMarkup.de_json(self.json_dict)) + + self.assertTrue(self.is_json(message.to_json())) + self.assertEqual(message.text, u'Моё судно на воздушной подушке полно угрей') + + def test_reply_keyboard_markup_de_json(self): + """Test ReplyKeboardMarkup.de_json() method""" + print('Testing ReplyKeyboardMarkup.de_json()') + + reply_keyboard_markup = telegram.ReplyKeyboardMarkup.de_json(self.json_dict) + + self.assertEqual(reply_keyboard_markup.keyboard, self.keyboard) + self.assertEqual(reply_keyboard_markup.resize_keyboard, self.resize_keyboard) + self.assertEqual(reply_keyboard_markup.one_time_keyboard, self.one_time_keyboard) + self.assertEqual(reply_keyboard_markup.selective, self.selective) + + def test_reply_keyboard_markup_to_json(self): + """Test ReplyKeyboardMarkup.to_json() method""" + print('Testing ReplyKeyboardMarkup.to_json()') + + reply_keyboard_markup = telegram.ReplyKeyboardMarkup.de_json(self.json_dict) + + self.assertTrue(self.is_json(reply_keyboard_markup.to_json())) + + def test_reply_keyboard_markup_to_dict(self): + """Test ReplyKeyboardMarkup.to_dict() method""" + print('Testing ReplyKeyboardMarkup.to_dict()') + + reply_keyboard_markup = telegram.ReplyKeyboardMarkup.de_json(self.json_dict) + + self.assertEqual(reply_keyboard_markup['keyboard'], self.keyboard) + self.assertEqual(reply_keyboard_markup['resize_keyboard'], self.resize_keyboard) + self.assertEqual(reply_keyboard_markup['one_time_keyboard'], self.one_time_keyboard) + self.assertEqual(reply_keyboard_markup['selective'], self.selective) + +if __name__ == '__main__': + unittest.main()