Skip to content

Commit e4a6c07

Browse files
authored
add previous_message (#317)
1 parent e6ba97f commit e4a6c07

1 file changed

Lines changed: 39 additions & 2 deletions

File tree

src/models/events/push.rs

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ pub struct SlackMessageEvent {
9292
pub subtype: Option<SlackMessageEventType>,
9393
pub hidden: Option<bool>,
9494
pub message: Option<SlackMessageEventEdited>,
95+
pub previous_message: Option<SlackMessageEventEdited>,
9596
pub deleted_ts: Option<SlackTs>,
9697
}
9798

@@ -422,7 +423,10 @@ mod test {
422423
let event: SlackPushEventCallback = serde_json::from_str(payload).unwrap();
423424
match event.event {
424425
SlackEventCallbackBody::Message(SlackMessageEvent {
425-
subtype, message, ..
426+
subtype,
427+
message,
428+
previous_message,
429+
..
426430
}) => {
427431
assert_eq!(subtype, Some(SlackMessageEventType::MessageChanged));
428432
if let Some(message) = message {
@@ -440,6 +444,21 @@ mod test {
440444
} else {
441445
panic!("Message is None");
442446
}
447+
if let Some(previous_message) = previous_message {
448+
assert_eq!(previous_message.sender.user, Some("UXXXXXXXXXX".into()));
449+
assert_eq!(previous_message.sender.bot_id, None);
450+
assert_eq!(previous_message.ts, "1701735043.989889".into());
451+
assert_eq!(
452+
previous_message.edited.map(|edited| edited.ts),
453+
Some("1701742890.000000".into())
454+
);
455+
assert_eq!(
456+
previous_message.content.unwrap().text,
457+
Some("hey!".to_string())
458+
);
459+
} else {
460+
panic!("PreviousMessage is None");
461+
}
443462
}
444463
_ => panic!("Unexpected event type"),
445464
}
@@ -451,7 +470,10 @@ mod test {
451470
let event: SlackPushEventCallback = serde_json::from_str(payload).unwrap();
452471
match event.event {
453472
SlackEventCallbackBody::Message(SlackMessageEvent {
454-
subtype, message, ..
473+
subtype,
474+
message,
475+
previous_message,
476+
..
455477
}) => {
456478
assert_eq!(subtype, Some(SlackMessageEventType::MessageChanged));
457479
if let Some(message) = message {
@@ -469,6 +491,21 @@ mod test {
469491
} else {
470492
panic!("Message is None");
471493
}
494+
if let Some(previous_message) = previous_message {
495+
assert_eq!(previous_message.sender.user, None);
496+
assert_eq!(previous_message.sender.bot_id, Some("BXXXXXXXXXX".into()));
497+
assert_eq!(previous_message.ts, "1701735043.989889".into());
498+
assert_eq!(
499+
previous_message.edited.map(|edited| edited.ts),
500+
Some("1701742890.000000".into())
501+
);
502+
assert_eq!(
503+
previous_message.content.unwrap().text,
504+
Some("hey!".to_string())
505+
);
506+
} else {
507+
panic!("PreviousMessage is None");
508+
}
472509
}
473510
_ => panic!("Unexpected event type"),
474511
}

0 commit comments

Comments
 (0)