Skip to content

Commit 5cde4a6

Browse files
committed
test: remove use of add_initial_events in test_ignored_unignored
1 parent de5511f commit 5cde4a6

File tree

1 file changed

+38
-18
lines changed

1 file changed

+38
-18
lines changed

crates/matrix-sdk/tests/integration/event_cache.rs

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
use std::{future::ready, ops::ControlFlow, time::Duration};
1+
use std::{future::ready, ops::ControlFlow, sync::Arc, time::Duration};
22

33
use assert_matches2::{assert_let, assert_matches};
44
use matrix_sdk::{
5+
config::StoreConfig,
56
event_cache::{
67
paginator::PaginatorState, BackPaginationOutcome, EventCacheError, RoomEventCacheUpdate,
78
TimelineHasBeenResetWhilePaginating,
89
},
10+
linked_chunk::{ChunkIdentifier, Position, Update},
911
test_utils::{assert_event_matches_msg, logged_in_client_with_server, mocks::MatrixMockServer},
1012
};
13+
use matrix_sdk_base::event_cache::store::{EventCacheStore, MemoryStore};
1114
use matrix_sdk_test::{
1215
async_test, event_factory::EventFactory, GlobalAccountDataTestEvent, JoinedRoomBuilder,
1316
SyncResponseBuilder,
@@ -146,46 +149,63 @@ async fn test_add_initial_events() {
146149
#[async_test]
147150
async fn test_ignored_unignored() {
148151
let server = MatrixMockServer::new().await;
149-
let client = server.client_builder().build().await;
152+
153+
let event_cache_store = Arc::new(MemoryStore::new());
154+
let client = server
155+
.client_builder()
156+
.store_config(
157+
StoreConfig::new("hodor".to_owned()).event_cache_store(event_cache_store.clone()),
158+
)
159+
.build()
160+
.await;
150161

151162
// Immediately subscribe the event cache to sync updates.
152163
client.event_cache().subscribe().unwrap();
164+
client.event_cache().enable_storage().unwrap();
153165

154-
// If I sync and get informed I've joined The Room, but with no events,
155166
let room_id = room_id!("!omelette:fromage.fr");
156167
let other_room_id = room_id!("!galette:saucisse.bzh");
157168

158-
server.sync_joined_room(&client, room_id).await;
159-
server.sync_joined_room(&client, other_room_id).await;
160-
161169
let dexter = user_id!("@dexter:lab.org");
162170
let ivan = user_id!("@ivan:lab.ch");
163171
let f = EventFactory::new();
164172

165-
// If I add initial events to a few rooms,
166-
client
167-
.event_cache()
168-
.add_initial_events(
173+
// Given two rooms which add initial items,
174+
event_cache_store
175+
.handle_linked_chunk_updates(
169176
room_id,
170177
vec![
171-
f.text_msg("hey there").sender(dexter).into_sync(),
172-
f.text_msg("hoy!").sender(ivan).into_sync(),
178+
Update::NewItemsChunk { previous: None, new: ChunkIdentifier::new(0), next: None },
179+
Update::PushItems {
180+
at: Position::new(ChunkIdentifier::new(0), 0),
181+
items: vec![
182+
f.text_msg("hey there").sender(dexter).into_sync(),
183+
f.text_msg("hoy!").sender(ivan).into_sync(),
184+
],
185+
},
173186
],
174-
None,
175187
)
176188
.await
177189
.unwrap();
178190

179-
client
180-
.event_cache()
181-
.add_initial_events(
191+
event_cache_store
192+
.handle_linked_chunk_updates(
182193
other_room_id,
183-
vec![f.text_msg("demat!").sender(ivan).into_sync()],
184-
None,
194+
vec![
195+
Update::NewItemsChunk { previous: None, new: ChunkIdentifier::new(0), next: None },
196+
Update::PushItems {
197+
at: Position::new(ChunkIdentifier::new(0), 0),
198+
items: vec![f.text_msg("demat!").sender(ivan).into_sync()],
199+
},
200+
],
185201
)
186202
.await
187203
.unwrap();
188204

205+
// If I get informed about these two rooms during sync,
206+
server.sync_joined_room(&client, room_id).await;
207+
server.sync_joined_room(&client, other_room_id).await;
208+
189209
// And subscribe to the room,
190210
let room = client.get_room(room_id).unwrap();
191211
let (room_event_cache, _drop_handles) = room.event_cache().await.unwrap();

0 commit comments

Comments
 (0)