Add topic-related helpers for ScheduledMessage.

This commit is contained in:
Steve Howell
2018-11-01 14:31:55 +00:00
committed by Tim Abbott
parent 50e3f85557
commit 56ecd227ff
3 changed files with 9 additions and 1 deletions

View File

@@ -1098,7 +1098,8 @@ def do_schedule_messages(messages: Sequence[Mapping[str, Any]]) -> List[int]:
scheduled_message = ScheduledMessage() scheduled_message = ScheduledMessage()
scheduled_message.sender = message['message'].sender scheduled_message.sender = message['message'].sender
scheduled_message.recipient = message['message'].recipient scheduled_message.recipient = message['message'].recipient
scheduled_message.subject = message['message'].subject topic_name = message['message'].topic_name()
scheduled_message.set_topic_name(topic_name=topic_name)
scheduled_message.content = message['message'].content scheduled_message.content = message['message'].content
scheduled_message.sending_client = message['message'].sending_client scheduled_message.sending_client = message['message'].sending_client
scheduled_message.stream = message['stream'] scheduled_message.stream = message['stream']

View File

@@ -2177,6 +2177,12 @@ class ScheduledMessage(models.Model):
delivery_type = models.PositiveSmallIntegerField(choices=DELIVERY_TYPES, delivery_type = models.PositiveSmallIntegerField(choices=DELIVERY_TYPES,
default=SEND_LATER) # type: int default=SEND_LATER) # type: int
def topic_name(self) -> str:
return self.subject
def set_topic_name(self, topic_name: str) -> None:
self.subject = topic_name
def __str__(self) -> str: def __str__(self) -> str:
display_recipient = get_display_recipient(self.recipient) display_recipient = get_display_recipient(self.recipient)
return "<ScheduledMessage: %s %s %s %s>" % (display_recipient, return "<ScheduledMessage: %s %s %s %s>" % (display_recipient,

View File

@@ -1862,6 +1862,7 @@ class ScheduledMessageTest(ZulipTestCase):
message = self.last_scheduled_message() message = self.last_scheduled_message()
self.assert_json_success(result) self.assert_json_success(result)
self.assertEqual(message.content, 'Test message 1') self.assertEqual(message.content, 'Test message 1')
self.assertEqual(message.topic_name(), 'Test subject')
self.assertEqual(message.scheduled_timestamp, convert_to_UTC(defer_until)) self.assertEqual(message.scheduled_timestamp, convert_to_UTC(defer_until))
self.assertEqual(message.delivery_type, ScheduledMessage.SEND_LATER) self.assertEqual(message.delivery_type, ScheduledMessage.SEND_LATER)
# Scheduling a message for reminders. # Scheduling a message for reminders.