@@ -8,7 +8,6 @@ import dev.gitlive.firebase.runBlockingTest
8
8
import dev.gitlive.firebase.runTest
9
9
import kotlinx.coroutines.Dispatchers
10
10
import kotlinx.coroutines.flow.first
11
- import kotlinx.coroutines.flow.map
12
11
import kotlinx.coroutines.withContext
13
12
import kotlinx.coroutines.withTimeout
14
13
import kotlinx.serialization.Serializable
@@ -33,7 +32,7 @@ class FirebaseDatabaseTest {
33
32
lateinit var database: FirebaseDatabase
34
33
35
34
@Serializable
36
- data class FirebaseDatabaseChildTest (val prop1 : String? = null , val time : Double = 0.0 )
35
+ data class FirebaseDatabaseChildTest (val prop1 : String? = null , val time : Double = 0.0 , val boolean : Boolean = true )
37
36
38
37
@Serializable
39
38
data class DatabaseTest (val title : String , val likes : Int = 0 )
@@ -198,6 +197,29 @@ class FirebaseDatabaseTest {
198
197
assertFalse(valueEvents.first().exists)
199
198
}
200
199
200
+ @Test
201
+ fun testBooleanValue () = runTest {
202
+ ensureDatabaseConnected()
203
+ val reference = database.reference(" FirebaseRealtimeDatabaseBooleanTest" )
204
+ val falseRef = reference.child(" false" )
205
+ val trueRef = reference.child(" true" )
206
+ falseRef.setValue(false )
207
+ trueRef.setValue(true )
208
+ val falseValue = falseRef.valueEvents.first().value<Boolean >()
209
+ val trueValue = trueRef.valueEvents.first().value<Boolean >()
210
+ assertFalse(falseValue)
211
+ assertTrue(trueValue)
212
+ }
213
+
214
+ @Test
215
+ fun testBooleanValueInChild () = runTest {
216
+ ensureDatabaseConnected()
217
+ val reference = database.reference(" FirebaseRealtimeDatabaseBooleanInChildTest" )
218
+ reference.setValue(FirebaseDatabaseChildTest ())
219
+ val value = reference.valueEvents.first().value<FirebaseDatabaseChildTest >()
220
+ assertEquals(FirebaseDatabaseChildTest (), value)
221
+ }
222
+
201
223
// Ignoring on Android Instrumented Tests due to bug in Firebase: https://github.com/firebase/firebase-android-sdk/issues/5870
202
224
@IgnoreForAndroidTest
203
225
@Test
0 commit comments