diff --git a/crates/matrix-sdk-ui/tests/integration/timeline/focus_event.rs b/crates/matrix-sdk-ui/tests/integration/timeline/focus_event.rs index 3a29e2166..3867dd1a2 100644 --- a/crates/matrix-sdk-ui/tests/integration/timeline/focus_event.rs +++ b/crates/matrix-sdk-ui/tests/integration/timeline/focus_event.rs @@ -229,7 +229,7 @@ async fn test_focused_timeline_reacts() { // to the $1 event. sync_response_builder.add_joined_room(JoinedRoomBuilder::new(room_id).add_timeline_bulk([ // This event must be ignored. - f.text_msg("this is a sync event").sender(*ALICE).into_raw_sync(), + f.text_msg("this is a sync event").sender(*ALICE).into(), // This event must not be ignored. sync_timeline_event!({ "content": { diff --git a/crates/matrix-sdk-ui/tests/integration/timeline/subscribe.rs b/crates/matrix-sdk-ui/tests/integration/timeline/subscribe.rs index 7aaf9ac8b..7580375d1 100644 --- a/crates/matrix-sdk-ui/tests/integration/timeline/subscribe.rs +++ b/crates/matrix-sdk-ui/tests/integration/timeline/subscribe.rs @@ -18,7 +18,10 @@ use assert_matches::assert_matches; use assert_matches2::assert_let; use eyeball_im::VectorDiff; use futures_util::{pin_mut, StreamExt}; -use matrix_sdk::{config::SyncSettings, test_utils::logged_in_client_with_server}; +use matrix_sdk::{ + config::SyncSettings, + test_utils::{events::EventFactory, logged_in_client_with_server}, +}; use matrix_sdk_test::{ async_test, sync_timeline_event, EventBuilder, GlobalAccountDataTestEvent, JoinedRoomBuilder, SyncResponseBuilder, ALICE, BOB, @@ -30,7 +33,7 @@ use ruma::{ member::{MembershipState, RoomMemberEventContent}, message::{MessageType, RoomMessageEventContent}, }, - room_id, + room_id, user_id, }; use serde_json::json; use stream_assert::{assert_next_matches, assert_pending}; @@ -210,45 +213,22 @@ async fn test_timeline_is_reset_when_a_user_is_ignored_or_unignored() { let (_, timeline_stream) = timeline.subscribe().await; pin_mut!(timeline_stream); - let alice = "@alice:example.org"; - let bob = "@bob:example.org"; + let alice = user_id!("@alice:example.org"); + let bob = user_id!("@bob:example.org"); let first_event_id = event_id!("$YTQwYl2pl1"); let second_event_id = event_id!("$YTQwYl2pl2"); let third_event_id = event_id!("$YTQwYl2pl3"); + let mut ev_factory = EventFactory::new().room(room_id); + sync_builder.add_joined_room( JoinedRoomBuilder::new(room_id) - .add_timeline_event(sync_timeline_event!({ - "content": { - "body": "hello", - "msgtype": "m.text", - }, - "event_id": first_event_id, - "origin_server_ts": 152037280, - "sender": alice, - "type": "m.room.message", - })) - .add_timeline_event(sync_timeline_event!({ - "content": { - "body": "hello", - "msgtype": "m.text", - }, - "event_id": second_event_id, - "origin_server_ts": 152037281, - "sender": bob, - "type": "m.room.message", - })) - .add_timeline_event(sync_timeline_event!({ - "content": { - "body": "hello", - "msgtype": "m.text", - }, - "event_id": third_event_id, - "origin_server_ts": 152037282, - "sender": alice, - "type": "m.room.message", - })), + .add_timeline_event(ev_factory.text_msg("hello").sender(alice).event_id(first_event_id)) + .add_timeline_event(ev_factory.text_msg("hello").sender(bob).event_id(second_event_id)) + .add_timeline_event( + ev_factory.text_msg("hello").sender(alice).event_id(third_event_id), + ), ); mock_sync(&server, sync_builder.build_json_sync_response(), None).await; @@ -272,9 +252,6 @@ async fn test_timeline_is_reset_when_a_user_is_ignored_or_unignored() { }); assert_pending!(timeline_stream); - let fourth_event_id = event_id!("$YTQwYl2pl4"); - let fiveth_event_id = event_id!("$YTQwYl2pl5"); - sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({ "content": { "ignored_users": { @@ -292,28 +269,16 @@ async fn test_timeline_is_reset_when_a_user_is_ignored_or_unignored() { assert_next_matches!(timeline_stream, VectorDiff::Clear); assert_pending!(timeline_stream); + let fourth_event_id = event_id!("$YTQwYl2pl4"); + let fifth_event_id = event_id!("$YTQwYl2pl5"); + + // All the next events are sent by Alice now. + ev_factory = ev_factory.sender(alice); + sync_builder.add_joined_room( JoinedRoomBuilder::new(room_id) - .add_timeline_event(sync_timeline_event!({ - "content": { - "body": "hello", - "msgtype": "m.text", - }, - "event_id": fourth_event_id, - "origin_server_ts": 152037283, - "sender": alice, - "type": "m.room.message", - })) - .add_timeline_event(sync_timeline_event!({ - "content": { - "body": "hello", - "msgtype": "m.text", - }, - "event_id": fiveth_event_id, - "origin_server_ts": 152037284, - "sender": alice, - "type": "m.room.message", - })), + .add_timeline_event(ev_factory.text_msg("hello").event_id(fourth_event_id)) + .add_timeline_event(ev_factory.text_msg("hello").event_id(fifth_event_id)), ); mock_sync(&server, sync_builder.build_json_sync_response(), None).await; @@ -328,7 +293,7 @@ async fn test_timeline_is_reset_when_a_user_is_ignored_or_unignored() { assert_eq!(value.as_event().unwrap().event_id(), Some(fourth_event_id)); }); assert_next_matches!(timeline_stream, VectorDiff::PushBack { value } => { - assert_eq!(value.as_event().unwrap().event_id(), Some(fiveth_event_id)); + assert_eq!(value.as_event().unwrap().event_id(), Some(fifth_event_id)); }); assert_next_matches!(timeline_stream, VectorDiff::PushFront { value } => { assert!(value.is_day_divider()); diff --git a/crates/matrix-sdk/src/test_utils/events.rs b/crates/matrix-sdk/src/test_utils/events.rs index f57795d50..87ce2672f 100644 --- a/crates/matrix-sdk/src/test_utils/events.rs +++ b/crates/matrix-sdk/src/test_utils/events.rs @@ -96,6 +96,15 @@ where } } +impl Into> for EventBuilder +where + E::EventType: Serialize, +{ + fn into(self) -> Raw { + self.into_raw_sync() + } +} + #[derive(Debug, Default)] pub struct EventFactory { next_ts: AtomicU64, diff --git a/crates/matrix-sdk/tests/integration/event_cache.rs b/crates/matrix-sdk/tests/integration/event_cache.rs index c8c30bc4a..c86d3a6a3 100644 --- a/crates/matrix-sdk/tests/integration/event_cache.rs +++ b/crates/matrix-sdk/tests/integration/event_cache.rs @@ -3,12 +3,9 @@ use std::time::Duration; use assert_matches2::{assert_let, assert_matches}; use matrix_sdk::{ event_cache::{BackPaginationOutcome, EventCacheError, RoomEventCacheUpdate}, - test_utils::{assert_event_matches_msg, logged_in_client_with_server}, -}; -use matrix_sdk_common::deserialized_responses::SyncTimelineEvent; -use matrix_sdk_test::{ - async_test, sync_timeline_event, EventBuilder, JoinedRoomBuilder, SyncResponseBuilder, + test_utils::{assert_event_matches_msg, events::EventFactory, logged_in_client_with_server}, }; +use matrix_sdk_test::{async_test, EventBuilder, JoinedRoomBuilder, SyncResponseBuilder}; use ruma::{ event_id, events::{room::message::RoomMessageEventContent, AnyTimelineEvent}, @@ -80,21 +77,16 @@ async fn test_add_initial_events() { assert!(events.is_empty()); assert!(subscriber.is_empty()); + let ev_factory = EventFactory::new().sender(user_id!("@dexter:lab.org")); + // And after a sync, yielding updates to two rooms, - sync_builder.add_joined_room(JoinedRoomBuilder::new(room_id).add_timeline_event( - EventBuilder::new().make_sync_message_event( - user_id!("@dexter:lab.org"), - RoomMessageEventContent::text_plain("bonjour monde"), - ), - )); + sync_builder.add_joined_room( + JoinedRoomBuilder::new(room_id).add_timeline_event(ev_factory.text_msg("bonjour monde")), + ); sync_builder.add_joined_room( - JoinedRoomBuilder::new(room_id!("!parallel:universe.uk")).add_timeline_event( - EventBuilder::new().make_sync_message_event( - user_id!("@dexter:lab.org"), - RoomMessageEventContent::text_plain("hi i'm learning French"), - ), - ), + JoinedRoomBuilder::new(room_id!("!parallel:universe.uk")) + .add_timeline_event(ev_factory.text_msg("hi i'm learning French")), ); let response_body = sync_builder.build_json_sync_response(); @@ -120,17 +112,7 @@ async fn test_add_initial_events() { // smoke test for the event cache. client .event_cache() - .add_initial_events( - room_id, - vec![SyncTimelineEvent::new(sync_timeline_event!({ - "sender": "@dexter:lab.org", - "type": "m.room.message", - "event_id": "$ida", - "origin_server_ts": 12344446, - "content": { "body":"new choice!", "msgtype": "m.text" }, - }))], - None, - ) + .add_initial_events(room_id, vec![ev_factory.text_msg("new choice!").into_sync()], None) .await .unwrap();