From d536dff709399a21036e8bbbd453bfbb4dca9256 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Fri, 29 May 2026 11:49:26 +0200 Subject: [PATCH] test(common): Add a test to ensure `TimelineEvent::replace_raw` update the cached event ID. --- .../src/deserialized_responses.rs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/crates/matrix-sdk-common/src/deserialized_responses.rs b/crates/matrix-sdk-common/src/deserialized_responses.rs index 09516062f..0e5115b26 100644 --- a/crates/matrix-sdk-common/src/deserialized_responses.rs +++ b/crates/matrix-sdk-common/src/deserialized_responses.rs @@ -2210,4 +2210,41 @@ mod tests { assert!(utd_info.session_id.is_some()); assert_eq!(utd_info.session_id.unwrap(), session_id); } + + #[test] + fn test_timeline_event_replace_raw_update_the_event_id() { + let mut timeline_event = TimelineEvent::from_plaintext( + Raw::new(&json!({ + "event_id": "$ev0", + "type": "m.room.message", + "sender": "@alice", + "origin_server_ts": 42, + "content": { + "body": "Hello, World!", + }, + "unsigned": {}, + })) + .unwrap() + .cast_unchecked(), + ); + + assert_eq!(timeline_event.event_id(), Some(owned_event_id!("$ev0"))); + + timeline_event.replace_raw( + Raw::new(&json!({ + "event_id": "$ev1", + "type": "m.room.message", + "sender": "@bob", + "origin_server_ts": 153, + "content": { + "body": "Bonjour !", + }, + "unsigned": {}, + })) + .unwrap() + .cast_unchecked(), + ); + + assert_eq!(timeline_event.event_id(), Some(owned_event_id!("$ev1"))); + } }