@@ -13,7 +13,6 @@ 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
1716import kotlinx.coroutines.test.runTest
1817import kotlinx.serialization.Serializable
1918import kotlinx.serialization.json.Json
@@ -80,21 +79,19 @@ class RealtimeExtTest {
8079 filter = filter,
8180 primaryKey = DummyData ::key
8281 )
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- }
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.
9194 }
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.
9895 },
9996 mockEngineHandler = {
10097 assertEquals(" /table" , it.url.pathAfterVersion())
0 commit comments