def context(self): """See soc.views.template.Template.context for full specification.""" conv_model = self.conversation.get() context = { 'subject': conv_model.subject, 'num_messages': gcimessage_logic.numMessagesInConversation(conv_model.key), 'num_new_messages': gciconversation_logic.numUnreadMessagesForConversationAndUser( conv_model.key, ndb.Key.from_old_key(self.data.user.key())), } last_message = gcimessage_logic.getLastMessageForConversation( conv_model.key) if last_message is not None: last_message_author = db.get( ndb.Key.to_old_key(last_message.author)) context['last_message_author'] = last_message_author.name context['last_message_content'] = (html.strip_tags( last_message.content).replace('\r', '').replace('\n', ' ').strip()) context['last_message_time'] = timeformat_helper.relativeTime( last_message.sent_on) context['last_message_ctime'] = last_message.sent_on.ctime() return context
def testNumMessagesInConversation(self): """Tests that numMessagesInConversation returns the correct number of GCIMessages in a conversation. """ # Make sure we get the last message expected = len(self.msg_keys) actual = gcimessage_logic.numMessagesInConversation( conversation=self.conv.key) self.assertEqual(expected, actual) # Add a new message, one minute after the last one self.conv_utils.addMessage(conversation=self.conv.key, time=(self.msg_keys[-1].get().sent_on + timedelta(minutes=1))) # Make sure we get the new last message expected = len(self.msg_keys) + 1 actual = gcimessage_logic.numMessagesInConversation( conversation=self.conv.key) self.assertEqual(expected, actual)
def testNumMessagesInConversation(self): """Tests that numMessagesInConversation returns the correct number of GCIMessages in a conversation. """ # Make sure we get the last message expected = len(self.msg_keys) actual = gcimessage_logic.numMessagesInConversation( conversation=self.conv.key) self.assertEqual(expected, actual) # Add a new message, one minute after the last one self.conv_utils.addMessage( conversation=self.conv.key, time=(self.msg_keys[-1].get().sent_on + timedelta(minutes=1))) # Make sure we get the new last message expected = len(self.msg_keys) + 1 actual = gcimessage_logic.numMessagesInConversation( conversation=self.conv.key) self.assertEqual(expected, actual)