@@ -13,6 +13,7 @@ import io.github.jan.supabase.realtime.presenceDataFlow
13
13
import io.github.jan.supabase.serializer.KotlinXSerializer
14
14
import io.github.jan.supabase.testing.pathAfterVersion
15
15
import io.ktor.client.engine.mock.respond
16
+ import kotlinx.coroutines.launch
16
17
import kotlinx.coroutines.test.runTest
17
18
import kotlinx.serialization.Serializable
18
19
import kotlinx.serialization.json.Json
@@ -79,19 +80,21 @@ class RealtimeExtTest {
79
80
filter = filter,
80
81
primaryKey = DummyData ::key
81
82
)
82
- dataFlow.test(FLOW_TIMEOUT ) {
83
- assertContentEquals(listOf (DummyData (0 , " first" )), awaitItem()) // 1. Initial data
84
- channel.subscribe(true )
85
- channel.callbackManager.setServerChanges(listOf (PostgresJoinConfig (" public" , " table" , " id=eq.0" , " *" , 0 )))
86
- channel.callbackManager.triggerPostgresChange<PostgresAction .Update >(DummyData (0 , " second" ), DummyData (0 , " first" )) // 2.
87
- assertContentEquals(listOf (DummyData (0 , " second" )), awaitItem()) // 2.
88
- channel.callbackManager.triggerPostgresChange<PostgresAction .Insert >(DummyData (1 , " third" ), null ) // 3.
89
- assertContentEquals(listOf (DummyData (0 , " second" ), DummyData (1 , " third" )), awaitItem())// 3.
90
- channel.callbackManager.triggerPostgresChange<PostgresAction .Update >(DummyData (0 , " fourth" ), DummyData (0 , " second" )) // 4.
91
- assertContentEquals(listOf (DummyData (0 , " fourth" ), DummyData (1 , " third" )), awaitItem())// 4.
92
- channel.callbackManager.triggerPostgresChange<PostgresAction .Delete >(null , DummyData (1 )) // 5.
93
- assertContentEquals(listOf (DummyData (0 , " fourth" )), awaitItem()) // 5.
83
+ launch {
84
+ dataFlow.test(FLOW_TIMEOUT ) {
85
+ assertContentEquals(listOf (DummyData (0 , " first" )), awaitItem()) // 1. Initial data
86
+ assertContentEquals(listOf (DummyData (0 , " second" )), awaitItem()) // 2.
87
+ assertContentEquals(listOf (DummyData (0 , " second" ), DummyData (1 , " third" )), awaitItem())// 3.
88
+ assertContentEquals(listOf (DummyData (0 , " fourth" ), DummyData (1 , " third" )), awaitItem())// 4.
89
+ assertContentEquals(listOf (DummyData (0 , " fourth" )), awaitItem()) // 5.
90
+ }
94
91
}
92
+ channel.subscribe(true )
93
+ channel.callbackManager.setServerChanges(listOf (PostgresJoinConfig (" public" , " table" , " id=eq.0" , " *" , 0 )))
94
+ channel.callbackManager.triggerPostgresChange<PostgresAction .Update >(DummyData (0 , " second" ), DummyData (0 , " first" )) // 2.
95
+ channel.callbackManager.triggerPostgresChange<PostgresAction .Insert >(DummyData (1 , " third" ), null ) // 3.
96
+ channel.callbackManager.triggerPostgresChange<PostgresAction .Update >(DummyData (0 , " fourth" ), DummyData (0 , " second" )) // 4.
97
+ channel.callbackManager.triggerPostgresChange<PostgresAction .Delete >(null , DummyData (1 )) // 5.
95
98
},
96
99
mockEngineHandler = {
97
100
assertEquals(" /table" , it.url.pathAfterVersion())
0 commit comments