@@ -13,6 +13,7 @@ import io.github.jan.supabase.realtime.presenceDataFlow
1313import io.github.jan.supabase.serializer.KotlinXSerializer
1414import io.github.jan.supabase.testing.pathAfterVersion
1515import io.ktor.client.engine.mock.respond
16+ import kotlinx.coroutines.launch
1617import kotlinx.coroutines.test.runTest
1718import kotlinx.serialization.Serializable
1819import kotlinx.serialization.json.Json
@@ -79,19 +80,21 @@ class RealtimeExtTest {
7980 filter = filter,
8081 primaryKey = DummyData ::key
8182 )
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+ }
9491 }
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.
9598 },
9699 mockEngineHandler = {
97100 assertEquals(" /table" , it.url.pathAfterVersion())
0 commit comments