16
16
package io.getstream.feeds.android.client.internal.client.reconnect
17
17
18
18
import app.cash.turbine.test
19
- import io.getstream.android.core.api.filter.`in`
20
19
import io.getstream.android.core.api.model.StreamRetryPolicy
21
20
import io.getstream.android.core.api.model.connection.StreamConnectionState
22
21
import io.getstream.android.core.api.model.exceptions.StreamClientException
23
22
import io.getstream.android.core.api.processing.StreamRetryProcessor
24
23
import io.getstream.android.core.result.runSafely
25
24
import io.getstream.feeds.android.client.api.model.FeedId
26
- import io.getstream.feeds.android.client.api.state.query.FeedsFilterField
27
- import io.getstream.feeds.android.client.api.state.query.FeedsQuery
25
+ import io.getstream.feeds.android.client.api.state.query.FeedQuery
28
26
import io.getstream.feeds.android.client.internal.repository.FeedsRepository
29
27
import io.mockk.called
30
28
import io.mockk.coEvery
@@ -58,11 +56,10 @@ internal class FeedWatchHandlerTest {
58
56
59
57
@Test
60
58
fun `on connected event, query feeds that are still being watched` () = runTest {
61
- coEvery { feedsRepository.queryFeeds (any()) } returns Result .success(mockk())
59
+ coEvery { feedsRepository.getOrCreateFeed (any()) } returns Result .success(mockk())
62
60
val id1 = FeedId (" group" , " id1" )
63
61
val id2 = FeedId (" group" , " id2" )
64
62
val id3 = FeedId (" group" , " id3" )
65
- val expectedQuery = FeedsQuery (FeedsFilterField .feed.`in `(" group:id1" , " group:id3" ))
66
63
67
64
handler.onStartWatching(id1)
68
65
handler.onStartWatching(id2)
@@ -71,7 +68,10 @@ internal class FeedWatchHandlerTest {
71
68
72
69
connectionEvents.emit(StreamConnectionState .Connected (mockk(), " connection-id" ))
73
70
74
- coVerify { feedsRepository.queryFeeds(expectedQuery) }
71
+ coVerify {
72
+ feedsRepository.getOrCreateFeed(FeedQuery (id1))
73
+ feedsRepository.getOrCreateFeed(FeedQuery (id3))
74
+ }
75
75
}
76
76
77
77
@Test
@@ -85,7 +85,11 @@ internal class FeedWatchHandlerTest {
85
85
errorBus.test {
86
86
connectionEvents.emit(StreamConnectionState .Connected (mockk(), " connection-id" ))
87
87
88
- assertEquals(setOf (id1, id2), (awaitItem() as ? StreamFeedRewatchException )?.ids)
88
+ val erroredIds = setOf (
89
+ (awaitItem() as ? StreamFeedRewatchException )?.id,
90
+ (awaitItem() as ? StreamFeedRewatchException )?.id,
91
+ )
92
+ assertEquals(setOf (id1, id2), erroredIds)
89
93
}
90
94
}
91
95
@@ -95,11 +99,11 @@ internal class FeedWatchHandlerTest {
95
99
handler.onStartWatching(id1)
96
100
97
101
listOf (
98
- StreamConnectionState .Idle ,
99
- StreamConnectionState .Connecting .Opening (" user-id" ),
100
- StreamConnectionState .Connecting .Authenticating (" user-id" ),
101
- StreamConnectionState .Disconnected (),
102
- )
102
+ StreamConnectionState .Idle ,
103
+ StreamConnectionState .Connecting .Opening (" user-id" ),
104
+ StreamConnectionState .Connecting .Authenticating (" user-id" ),
105
+ StreamConnectionState .Disconnected (),
106
+ )
103
107
.forEach { connectionEvents.emit(it) }
104
108
105
109
verify { feedsRepository wasNot called }
0 commit comments