@@ -6,7 +6,7 @@ use matrix_sdk::{
66 paginator:: PaginatorState , BackPaginationOutcome , EventCacheError , RoomEventCacheUpdate ,
77 TimelineHasBeenResetWhilePaginating ,
88 } ,
9- test_utils:: { assert_event_matches_msg, logged_in_client_with_server} ,
9+ test_utils:: { assert_event_matches_msg, logged_in_client_with_server, mocks :: MatrixMockServer } ,
1010} ;
1111use matrix_sdk_test:: {
1212 async_test, event_factory:: EventFactory , GlobalAccountDataTestEvent , JoinedRoomBuilder ,
@@ -145,7 +145,8 @@ async fn test_add_initial_events() {
145145
146146#[ async_test]
147147async fn test_ignored_unignored ( ) {
148- let ( client, server) = logged_in_client_with_server ( ) . await ;
148+ let server = MatrixMockServer :: new ( ) . await ;
149+ let client = server. client_builder ( ) . build ( ) . await ;
149150
150151 // Immediately subscribe the event cache to sync updates.
151152 client. event_cache ( ) . subscribe ( ) . unwrap ( ) ;
@@ -154,27 +155,21 @@ async fn test_ignored_unignored() {
154155 let room_id = room_id ! ( "!omelette:fromage.fr" ) ;
155156 let other_room_id = room_id ! ( "!galette:saucisse.bzh" ) ;
156157
157- let mut sync_builder = SyncResponseBuilder :: new ( ) ;
158- sync_builder
159- . add_joined_room ( JoinedRoomBuilder :: new ( room_id) )
160- . add_joined_room ( JoinedRoomBuilder :: new ( other_room_id) ) ;
161-
162- mock_sync ( & server, sync_builder. build_json_sync_response ( ) , None ) . await ;
163- client. sync_once ( Default :: default ( ) ) . await . unwrap ( ) ;
164- server. reset ( ) . await ;
158+ server. sync_joined_room ( & client, room_id) . await ;
159+ server. sync_joined_room ( & client, other_room_id) . await ;
165160
166161 let dexter = user_id ! ( "@dexter:lab.org" ) ;
167162 let ivan = user_id ! ( "@ivan:lab.ch" ) ;
168- let ev_factory = EventFactory :: new ( ) ;
163+ let f = EventFactory :: new ( ) ;
169164
170165 // If I add initial events to a few rooms,
171166 client
172167 . event_cache ( )
173168 . add_initial_events (
174169 room_id,
175170 vec ! [
176- ev_factory . text_msg( "hey there" ) . sender( dexter) . into_sync( ) ,
177- ev_factory . text_msg( "hoy!" ) . sender( ivan) . into_sync( ) ,
171+ f . text_msg( "hey there" ) . sender( dexter) . into_sync( ) ,
172+ f . text_msg( "hoy!" ) . sender( ivan) . into_sync( ) ,
178173 ] ,
179174 None ,
180175 )
@@ -185,7 +180,7 @@ async fn test_ignored_unignored() {
185180 . event_cache ( )
186181 . add_initial_events (
187182 other_room_id,
188- vec ! [ ev_factory . text_msg( "demat!" ) . sender( ivan) . into_sync( ) ] ,
183+ vec ! [ f . text_msg( "demat!" ) . sender( ivan) . into_sync( ) ] ,
189184 None ,
190185 )
191186 . await
@@ -202,17 +197,19 @@ async fn test_ignored_unignored() {
202197 assert_event_matches_msg ( & events[ 1 ] , "hoy!" ) ;
203198
204199 // And after receiving a new ignored list,
205- sync_builder. add_global_account_data_event ( GlobalAccountDataTestEvent :: Custom ( json ! ( {
206- "content" : {
207- "ignored_users" : {
208- dexter: { }
209- }
210- } ,
211- "type" : "m.ignored_user_list" ,
212- } ) ) ) ;
213- mock_sync ( & server, sync_builder. build_json_sync_response ( ) , None ) . await ;
214- client. sync_once ( Default :: default ( ) ) . await . unwrap ( ) ;
215- server. reset ( ) . await ;
200+ server
201+ . mock_sync ( )
202+ . ok_and_run ( & client, |sync_builder| {
203+ sync_builder. add_global_account_data_event ( GlobalAccountDataTestEvent :: Custom ( json ! ( {
204+ "content" : {
205+ "ignored_users" : {
206+ dexter: { }
207+ }
208+ } ,
209+ "type" : "m.ignored_user_list" ,
210+ } ) ) ) ;
211+ } )
212+ . await ;
216213
217214 // It does receive one update,
218215 let update = timeout ( Duration :: from_secs ( 2 ) , subscriber. recv ( ) )
@@ -224,13 +221,15 @@ async fn test_ignored_unignored() {
224221 assert_matches ! ( update, RoomEventCacheUpdate :: Clear ) ;
225222
226223 // Receiving new events still works.
227- sync_builder. add_joined_room (
228- JoinedRoomBuilder :: new ( room_id)
229- . add_timeline_event ( ev_factory. text_msg ( "i don't like this dexter" ) . sender ( ivan) ) ,
230- ) ;
231- mock_sync ( & server, sync_builder. build_json_sync_response ( ) , None ) . await ;
232- client. sync_once ( Default :: default ( ) ) . await . unwrap ( ) ;
233- server. reset ( ) . await ;
224+ server
225+ . mock_sync ( )
226+ . ok_and_run ( & client, |sync_builder| {
227+ sync_builder. add_joined_room (
228+ JoinedRoomBuilder :: new ( room_id)
229+ . add_timeline_event ( f. text_msg ( "i don't like this dexter" ) . sender ( ivan) ) ,
230+ ) ;
231+ } )
232+ . await ;
234233
235234 // We do receive one update,
236235 let update = timeout ( Duration :: from_secs ( 2 ) , subscriber. recv ( ) )
0 commit comments