def test_default_values(self): reaction = api.Reaction(ROWID=2, associated_message_id=1) self.assertEqual(reaction.ROWID, 2) self.assertEqual(reaction.associated_message_id, 1) self.assertEqual(reaction.guid, '') self.assertEqual(reaction.text, '') self.assertEqual(reaction.handle_id, 1) self.assertIsNone(reaction.service) self.assertEqual(reaction.date, 0) self.assertEqual(reaction.date_read, 0) self.assertEqual(reaction.date_delivered, 0) self.assertEqual(reaction.is_delivered, 0) self.assertEqual(reaction.is_finished, 0) self.assertEqual(reaction.is_from_me, 0) self.assertEqual(reaction.is_read, 0) self.assertEqual(reaction.is_sent, 0) self.assertEqual(reaction.cache_has_attachments, 0) self.assertIsNone(reaction.cache_roomnames) self.assertEqual(reaction.item_type, 0) self.assertEqual(reaction.other_handle, 0) self.assertIsNone(reaction.group_title) self.assertEqual(reaction.group_action_type, 0) self.assertIsNone(reaction.associated_message_guid) self.assertEqual(reaction.associated_message_type, 0) self.assertEqual(reaction.message_update_date, 0) self.assertEqual(reaction.error, 0)
def test_text_no_emoji(self): testText = 'Text without any emojis' reaction = api.Reaction(ROWID=2, associated_message_id=1, text=testText) self.assertEqual(reaction.text, testText)
def test_text_with_emoji(self): testText = 'Text with an � emoji' correctText = 'Text with an emoji' reaction = api.Reaction(ROWID=2, associated_message_id=1, text=testText) self.assertNotEqual(reaction.text, testText) self.assertEqual(reaction.text, correctText)
def test_add_reaction_no_message_in_list(self): msgList = api.MessageList() reaction = api.Reaction(ROWID=2, associated_message_id=1, handle_id=1, associated_message_type=2000) msgList.addReaction(reaction) self.assertDictEqual(msgList.messages, {})
def test_show_reaction_window(self): msg = api.Message(ROWID=1, guid='MSG1') reaction1 = api.Reaction(ROWID=2, guid='REACT1', associated_message_id=msg.rowid, associated_message_guid=msg.guid, associated_message_type=2000) msg.addReaction(reaction1) self.messageFrame._showReactionWindow(msg, msg.messageParts[0]) self.assertTrue(self.messageFrame.reactionWindow.winfo_exists())
def test_add_second_reaction_same_handle_remove_reaction(self): testReaction = api.Reaction(associated_message_id=1, ROWID=1, handle_id=1, associated_message_type=2000) testReaction2 = api.Reaction(associated_message_id=1, ROWID=2, handle_id=1, associated_message_type=3000) correctReactionDict = { testReaction.handleId: { (testReaction.associated_message_type % 1000): testReaction2 } } msg = api.Message(ROWID=1) msg.addReaction(testReaction) msg.addReaction(testReaction2) self.assertDictEqual(msg.messageParts[0].reactions, correctReactionDict)
def test_add_first_reaction(self): testReaction = api.Reaction(associated_message_id=1, ROWID=1, handle_id=1, associated_message_type=2000) correctReactionDict = { testReaction.handleId: { (testReaction.associated_message_type % 1000): testReaction } } msg = api.Message(ROWID=1) msg.addReaction(testReaction) self.assertDictEqual(msg.messageParts[0].reactions, correctReactionDict)
def test_add_reaction_with_message_in_list(self): msgList = api.MessageList() msg = api.Message(ROWID=1) reaction = api.Reaction(ROWID=2, associated_message_id=1, handle_id=1, associated_message_type=2000) msgList.append(msg) correctReactionDict = { reaction.handle_id: { (reaction.associated_message_type % 1000): reaction } } msgList.addReaction(reaction) self.assertEqual(msgList.messages[msg.ROWID].messageParts[0].reactions, correctReactionDict)
def test__add_message_reaction(self): chat = api.Chat(ROWID=1) msg = api.Message(ROWID=2) reaction = api.Reaction(ROWID=1, associated_message_id=2, handle_id=1, associated_message_type=2000) chat.addMessage(msg) correctReactionDict = { reaction.handle_id: { (reaction.associated_message_type % 1000): reaction } } chat._addMessage(reaction) self.assertDictEqual( chat.messageList.messages[msg.ROWID].messageParts[0].reactions, correctReactionDict)
def test_default_properties(self): reaction = api.Reaction(ROWID=2, associated_message_id=1) self.assertEqual(reaction.rowid, reaction.ROWID) self.assertEqual(reaction.handleId, reaction.handle_id) self.assertEqual(reaction.handleName, '') self.assertEqual(reaction.dateRead, reaction.date_read) self.assertEqual(reaction.isDelivered, reaction.is_delivered == 1) self.assertEqual(reaction.isFromMe, reaction.is_from_me == 1) self.assertEqual(reaction.isiMessage, reaction.service == 'iMessage') self.assertEqual(reaction.isRead, reaction.is_read == 1) self.assertEqual(reaction.isSent, reaction.is_sent == 1) self.assertEqual(reaction.isTemporary, reaction.ROWID < 0) self.assertIsNone(reaction.attachment) self.assertDictEqual(reaction.reactions, {}) self.assertTrue(reaction.isAddition) self.assertEqual(reaction.reactionType, reaction.associated_message_type) self.assertEqual(reaction.associatedMessageId, reaction.associated_message_id) self.assertTrue(reaction.isReaction)
def test_is_newer_same_date(self): reaction = api.Reaction(ROWID=2, associated_message_id=1, date=1) reaction2 = api.Reaction(ROWID=4, associated_message_id=3, date=1) self.assertFalse(reaction.isNewer(reaction2))
def test_no_associated_message_id(self): with self.assertRaises(api.ReactionNoAssociatedIdException): api.Reaction(ROWID=1)
def test_no_rowid(self): with self.assertRaises(api.ReceivedNoIdException): api.Reaction()
def test_is_temporary(self): reaction = api.Reaction(ROWID=-1, associated_message_id=1) self.assertTrue(reaction.isTemporary)
def test_none_attachment_index(self): with self.assertRaises(api.ReactionNoAttachmentIndexException): api.Reaction(ROWID=1, associated_message_id=1, attachmentIndex=None)
def test_get_text(self): reaction = api.Reaction(ROWID=2, associated_message_id=1) text = reaction.getText() self.assertEqual(text, '')