@@ -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