From d6401e51c23a08ce5ef862e5cf1971b0a8b5c6e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Wed, 3 May 2023 10:29:52 +0200 Subject: [PATCH] sdk: Move edit timeline unit tests to a separate module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kévin Commaille --- .../src/room/timeline/tests/basic.rs | 48 ++++--------------- .../src/room/timeline/tests/edit.rs | 40 ++++++++++++++++ .../matrix-sdk/src/room/timeline/tests/mod.rs | 1 + 3 files changed, 50 insertions(+), 39 deletions(-) create mode 100644 crates/matrix-sdk/src/room/timeline/tests/edit.rs diff --git a/crates/matrix-sdk/src/room/timeline/tests/basic.rs b/crates/matrix-sdk/src/room/timeline/tests/basic.rs index c3c475a78..c540e87e8 100644 --- a/crates/matrix-sdk/src/room/timeline/tests/basic.rs +++ b/crates/matrix-sdk/src/room/timeline/tests/basic.rs @@ -4,21 +4,16 @@ use futures_util::StreamExt; use imbl::vector; use matrix_sdk_base::deserialized_responses::SyncTimelineEvent; use matrix_sdk_test::async_test; -use ruma::{ - assign, - events::{ - reaction::ReactionEventContent, - relation::{Annotation, Replacement}, - room::{ - member::{MembershipState, RedactedRoomMemberEventContent, RoomMemberEventContent}, - message::{ - self, MessageType, RedactedRoomMessageEventContent, RoomMessageEventContent, - }, - name::RoomNameEventContent, - topic::RedactedRoomTopicEventContent, - }, - FullStateEventContent, +use ruma::events::{ + reaction::ReactionEventContent, + relation::Annotation, + room::{ + member::{MembershipState, RedactedRoomMemberEventContent, RoomMemberEventContent}, + message::RoomMessageEventContent, + name::RoomNameEventContent, + topic::RedactedRoomTopicEventContent, }, + FullStateEventContent, }; use serde_json::{json, Value as JsonValue}; @@ -90,31 +85,6 @@ async fn reaction_redaction() { assert_eq!(event.reactions().len(), 0); } -#[async_test] -async fn edit_redacted() { - let timeline = TestTimeline::new(); - let mut stream = timeline.subscribe().await; - - timeline - .handle_live_redacted_message_event(*ALICE, RedactedRoomMessageEventContent::new()) - .await; - let _day_divider = - assert_matches!(stream.next().await, Some(VectorDiff::PushBack { value }) => value); - let item = assert_matches!(stream.next().await, Some(VectorDiff::PushBack { value }) => value); - - let redacted_event_id = item.as_event().unwrap().event_id().unwrap(); - - let edit = assign!(RoomMessageEventContent::text_plain(" * test"), { - relates_to: Some(message::Relation::Replacement(Replacement::new( - redacted_event_id.to_owned(), - MessageType::text_plain("test"), - ))), - }); - timeline.handle_live_message_event(&ALICE, edit).await; - - assert_eq!(timeline.inner.items().await.len(), 2); -} - #[async_test] async fn sticker() { let timeline = TestTimeline::new(); diff --git a/crates/matrix-sdk/src/room/timeline/tests/edit.rs b/crates/matrix-sdk/src/room/timeline/tests/edit.rs new file mode 100644 index 000000000..89cc71061 --- /dev/null +++ b/crates/matrix-sdk/src/room/timeline/tests/edit.rs @@ -0,0 +1,40 @@ +use assert_matches::assert_matches; +use eyeball_im::VectorDiff; +use futures_util::StreamExt; +use matrix_sdk_test::async_test; +use ruma::{ + assign, + events::{ + relation::Replacement, + room::message::{ + self, MessageType, RedactedRoomMessageEventContent, RoomMessageEventContent, + }, + }, +}; + +use super::{TestTimeline, ALICE}; + +#[async_test] +async fn edit_redacted() { + let timeline = TestTimeline::new(); + let mut stream = timeline.subscribe().await; + + timeline + .handle_live_redacted_message_event(*ALICE, RedactedRoomMessageEventContent::new()) + .await; + let _day_divider = + assert_matches!(stream.next().await, Some(VectorDiff::PushBack { value }) => value); + let item = assert_matches!(stream.next().await, Some(VectorDiff::PushBack { value }) => value); + + let redacted_event_id = item.as_event().unwrap().event_id().unwrap(); + + let edit = assign!(RoomMessageEventContent::text_plain(" * test"), { + relates_to: Some(message::Relation::Replacement(Replacement::new( + redacted_event_id.to_owned(), + MessageType::text_plain("test"), + ))), + }); + timeline.handle_live_message_event(&ALICE, edit).await; + + assert_eq!(timeline.inner.items().await.len(), 2); +} diff --git a/crates/matrix-sdk/src/room/timeline/tests/mod.rs b/crates/matrix-sdk/src/room/timeline/tests/mod.rs index 3603a3e66..3fc685c6f 100644 --- a/crates/matrix-sdk/src/room/timeline/tests/mod.rs +++ b/crates/matrix-sdk/src/room/timeline/tests/mod.rs @@ -49,6 +49,7 @@ use super::{inner::RoomDataProvider, Profile, TimelineInner, TimelineItem}; mod basic; mod echo; +mod edit; #[cfg(feature = "e2e-encryption")] mod encryption; mod invalid;