class TestMessageGeneratorChannelPost(unittest.TestCase): def setUp(self): self.mg = MessageGenerator() def test_channel_post(self): u = self.mg.get_channel_post() self.assertIsInstance(u, Update) self.assertIsInstance(u.channel_post, Message) self.assertEqual(u.channel_post.chat.type, "channel") self.assertEqual(u.channel_post.from_user, None) def test_with_chat(self): cg = ChatGenerator() group = cg.get_chat(type="group") channel = cg.get_chat(type="channel") u = self.mg.get_channel_post(chat=channel) self.assertEqual(channel.title, u.channel_post.chat.title) with self.assertRaisesRegexp(BadChatException, "telegram\.Chat"): self.mg.get_channel_post(chat="chat") with self.assertRaisesRegexp(BadChatException, "chat\.type"): self.mg.get_channel_post(chat=group) def test_with_user(self): ug = UserGenerator() user = ug.get_user() u = self.mg.get_channel_post(user=user) self.assertEqual(u.channel_post.from_user.id, user.id) def test_with_content(self): u = self.mg.get_channel_post( text="this is *bold* _italic_", parse_mode="Markdown") self.assertEqual(u.channel_post.text, "this is bold italic") self.assertEqual(len(u.channel_post.entities), 2)
class TestMessageGeneratorEditedChannelPost(unittest.TestCase): def setUp(self): self.mg = MessageGenerator() def test_edited_channel_post(self): u = self.mg.get_edited_channel_post() self.assertIsInstance(u.edited_channel_post, Message) self.assertIsInstance(u, Update) def test_with_parameters(self): u = self.mg.get_edited_channel_post( text="New *text*", parse_mode="Markdown") self.assertEqual(u.edited_channel_post.text, "New text") self.assertEqual(len(u.edited_channel_post.entities), 1) def test_with_channel_post(self): m = self.mg.get_channel_post(text="first").channel_post u = self.mg.get_edited_channel_post(channel_post=m, text="second") self.assertEqual(m.message_id, u.edited_channel_post.message_id) self.assertEqual(m.chat.id, u.edited_channel_post.chat.id) self.assertEqual(u.edited_channel_post.text, "second") with self.assertRaises(BadMessageException): self.mg.get_edited_channel_post(channel_post="Message")