Skip to content

Commit c9e98ce

Browse files
committed
Add tests passing empty values.
1 parent 6e74c62 commit c9e98ce

File tree

1 file changed

+43
-0
lines changed
  • firebase-firestore/src/commonTest/kotlin/dev/gitlive/firebase/firestore

1 file changed

+43
-0
lines changed

firebase-firestore/src/commonTest/kotlin/dev/gitlive/firebase/firestore/firestore.kt

+43
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,27 @@ class FirebaseFirestoreTest {
150150

151151
}
152152

153+
@Test
154+
fun testSetBatchDoesNotEncodeEmptyValues() = runTest {
155+
val doc = Firebase.firestore
156+
.collection("testServerTestSetBatch")
157+
.document("test")
158+
val batch = Firebase.firestore.batch()
159+
batch.set(
160+
documentRef = doc,
161+
strategy = FirestoreTest.serializer(),
162+
data = FirestoreTest(
163+
prop1 = "prop1-set",
164+
time = 125.0
165+
),
166+
fieldsAndValues = arrayOf<Pair<String, Any>>()
167+
)
168+
batch.commit()
169+
170+
assertEquals(125.0, doc.get().get("time") as Double?)
171+
assertEquals("prop1-set", doc.get().data(FirestoreTest.serializer()).prop1)
172+
}
173+
153174
@Test
154175
fun testExtendedUpdateBatch() = runTest {
155176
val doc = Firebase.firestore
@@ -181,6 +202,28 @@ class FirebaseFirestoreTest {
181202
assertEquals("prop1-updated", doc.get().data(FirestoreTest.serializer()).prop1)
182203
}
183204

205+
@Test
206+
fun testUpdateBatchDoesNotEncodeEmptyValues() = runTest {
207+
val doc = Firebase.firestore
208+
.collection("testServerTestSetBatch")
209+
.document("test")
210+
val batch = Firebase.firestore.batch()
211+
batch.update(
212+
documentRef = doc,
213+
strategy = FirestoreTest.serializer(),
214+
data = FirestoreTest(
215+
prop1 = "prop1-set",
216+
time = 126.0
217+
),
218+
encodeDefaults = false,
219+
fieldsAndValues = arrayOf<Pair<String, Any>>()
220+
)
221+
batch.commit()
222+
223+
assertEquals(126.0, doc.get().get("time") as Double?)
224+
assertEquals("prop1-set", doc.get().data(FirestoreTest.serializer()).prop1)
225+
}
226+
184227
private suspend fun setupFirestoreData() {
185228
Firebase.firestore.collection("FirebaseFirestoreTest")
186229
.document("one")

0 commit comments

Comments
 (0)