Skip to content

Commit 5bf3b11

Browse files
committed
test: rewrite test_send_edit_when_timeline_is_clear to not use add_initial_items
Moar MatrixMockServer \o/
1 parent 8f1722f commit 5bf3b11

File tree

1 file changed

+19
-22
lines changed
  • crates/matrix-sdk-ui/tests/integration/timeline

1 file changed

+19
-22
lines changed

crates/matrix-sdk-ui/tests/integration/timeline/edit.rs

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -675,20 +675,14 @@ async fn test_send_edit_poll() {
675675

676676
#[async_test]
677677
async fn test_send_edit_when_timeline_is_clear() {
678-
let room_id = room_id!("!a98sd12bjh:example.org");
679-
let (client, server) = logged_in_client_with_server().await;
680-
let sync_settings = SyncSettings::new().timeout(Duration::from_millis(3000));
681-
682-
let mut sync_builder = SyncResponseBuilder::new();
683-
sync_builder.add_joined_room(JoinedRoomBuilder::new(room_id));
678+
let server = MatrixMockServer::new().await;
679+
let client = server.client_builder().build().await;
684680

685-
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
686-
let _response = client.sync_once(sync_settings.clone()).await.unwrap();
687-
server.reset().await;
681+
let room_id = room_id!("!a98sd12bjh:example.org");
682+
let room = server.sync_joined_room(&client, room_id).await;
688683

689-
mock_encryption_state(&server, false).await;
684+
server.mock_room_state_encryption().plain().mount().await;
690685

691-
let room = client.get_room(room_id).unwrap();
692686
let timeline = room.timeline().await.unwrap();
693687
let (_, mut timeline_stream) =
694688
timeline.subscribe_filter_map(|item| item.as_event().cloned()).await;
@@ -699,23 +693,27 @@ async fn test_send_edit_when_timeline_is_clear() {
699693
.sender(client.user_id().unwrap())
700694
.event_id(event_id!("$original_event"))
701695
.into_raw_sync();
702-
sync_builder.add_joined_room(
703-
JoinedRoomBuilder::new(room_id).add_timeline_event(raw_original_event.clone()),
704-
);
705696

706-
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
707-
let _response = client.sync_once(sync_settings.clone()).await.unwrap();
708-
server.reset().await;
697+
server
698+
.sync_room(
699+
&client,
700+
JoinedRoomBuilder::new(room_id).add_timeline_event(raw_original_event.clone()),
701+
)
702+
.await;
709703

710704
let hello_world_item =
711705
assert_next_matches!(timeline_stream, VectorDiff::PushBack { value } => value);
712706
let hello_world_message = hello_world_item.content().as_message().unwrap();
713707
assert!(!hello_world_message.is_edited());
714708
assert!(hello_world_item.is_editable());
715709

716-
// Clear the event cache (hence the timeline) to make sure the old item does not
717-
// need to be available in it for the edit to work.
718-
client.event_cache().add_initial_events(room_id, vec![], None).await.unwrap();
710+
// Receive a limited (gappy) sync for this room, which will clear the timeline…
711+
//
712+
// TODO: …until the event cache storage is enabled by default, a time where
713+
// we'll be able to get rid of this test entirely (or update its
714+
// expectations).
715+
716+
server.sync_room(&client, JoinedRoomBuilder::new(room_id).set_timeline_limited()).await;
719717
client.event_cache().empty_immutable_cache().await;
720718

721719
yield_now().await;
@@ -741,8 +739,7 @@ async fn test_send_edit_when_timeline_is_clear() {
741739
// updates, so just wait for a bit before verifying that the endpoint was
742740
// called.
743741
sleep(Duration::from_millis(200)).await;
744-
745-
server.verify().await;
742+
assert!(timeline_stream.next().now_or_never().is_none());
746743
}
747744

748745
#[async_test]

0 commit comments

Comments
 (0)