@@ -150,6 +150,27 @@ class FirebaseFirestoreTest {
150
150
151
151
}
152
152
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
+
153
174
@Test
154
175
fun testExtendedUpdateBatch () = runTest {
155
176
val doc = Firebase .firestore
@@ -181,6 +202,28 @@ class FirebaseFirestoreTest {
181
202
assertEquals(" prop1-updated" , doc.get().data(FirestoreTest .serializer()).prop1)
182
203
}
183
204
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
+
184
227
private suspend fun setupFirestoreData () {
185
228
Firebase .firestore.collection(" FirebaseFirestoreTest" )
186
229
.document(" one" )
0 commit comments