mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-19 06:04:31 -04:00
sdk: Move edit timeline unit tests to a separate module
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
This commit is contained in:
committed by
Jonas Platte
parent
4fa2c13d44
commit
d6401e51c2
@@ -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();
|
||||
|
||||
40
crates/matrix-sdk/src/room/timeline/tests/edit.rs
Normal file
40
crates/matrix-sdk/src/room/timeline/tests/edit.rs
Normal file
@@ -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);
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user