@@ -253,7 +253,7 @@ class FirebaseFirestoreTest {
253
253
assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
254
254
assertEquals(" ccc" , firstPage[2 ].get(" prop1" ))
255
255
256
- val secondPage = query.startAfter(listOf ( " bbb" ) ).get().documents
256
+ val secondPage = query.startAfter(" bbb" ).get().documents
257
257
assertEquals(1 , secondPage.size)
258
258
assertEquals(" ccc" , secondPage[0 ].get(" prop1" ))
259
259
}
@@ -292,12 +292,90 @@ class FirebaseFirestoreTest {
292
292
assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
293
293
assertEquals(" ccc" , firstPage[2 ].get(" prop1" ))
294
294
295
- val secondPage = query.startAt(listOf ( " bbb" ) ).get().documents
295
+ val secondPage = query.startAt(" bbb" ).get().documents
296
296
assertEquals(2 , secondPage.size)
297
297
assertEquals(" bbb" , secondPage[0 ].get(" prop1" ))
298
298
assertEquals(" ccc" , secondPage[1 ].get(" prop1" ))
299
299
}
300
300
301
+ @Test
302
+ fun testEndBeforeDocumentSnapshot () = runTest {
303
+ setupFirestoreData()
304
+ val query = Firebase .firestore
305
+ .collection(" testFirestoreQuerying" )
306
+ .orderBy(" prop1" , Direction .ASCENDING )
307
+
308
+ val firstPage = query.limit(2 ).get().documents // First 2 results
309
+ assertEquals(2 , firstPage.size)
310
+ assertEquals(" aaa" , firstPage[0 ].get(" prop1" ))
311
+ assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
312
+
313
+ val lastDocumentSnapshot = firstPage.lastOrNull()
314
+ assertNotNull(lastDocumentSnapshot)
315
+
316
+ val secondPage = query.endBefore(lastDocumentSnapshot).get().documents
317
+ assertEquals(1 , secondPage.size)
318
+ assertEquals(" aaa" , secondPage[0 ].get(" prop1" ))
319
+ }
320
+
321
+ @Test
322
+ fun testEndBeforeFieldValues () = runTest {
323
+ setupFirestoreData()
324
+ val query = Firebase .firestore
325
+ .collection(" testFirestoreQuerying" )
326
+ .orderBy(" prop1" , Direction .ASCENDING )
327
+
328
+ val firstPage = query.get().documents
329
+ assertEquals(3 , firstPage.size)
330
+ assertEquals(" aaa" , firstPage[0 ].get(" prop1" ))
331
+ assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
332
+ assertEquals(" ccc" , firstPage[2 ].get(" prop1" ))
333
+
334
+ val secondPage = query.endBefore(" bbb" ).get().documents
335
+ assertEquals(1 , secondPage.size)
336
+ assertEquals(" aaa" , secondPage[0 ].get(" prop1" ))
337
+ }
338
+
339
+ @Test
340
+ fun testEndAtDocumentSnapshot () = runTest {
341
+ setupFirestoreData()
342
+ val query = Firebase .firestore
343
+ .collection(" testFirestoreQuerying" )
344
+ .orderBy(" prop1" , Direction .ASCENDING )
345
+
346
+ val firstPage = query.limit(2 ).get().documents // First 2 results
347
+ assertEquals(2 , firstPage.size)
348
+ assertEquals(" aaa" , firstPage[0 ].get(" prop1" ))
349
+ assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
350
+
351
+ val lastDocumentSnapshot = firstPage.lastOrNull()
352
+ assertNotNull(lastDocumentSnapshot)
353
+
354
+ val secondPage = query.endAt(lastDocumentSnapshot).get().documents
355
+ assertEquals(2 , secondPage.size)
356
+ assertEquals(" aaa" , secondPage[0 ].get(" prop1" ))
357
+ assertEquals(" bbb" , secondPage[1 ].get(" prop1" ))
358
+ }
359
+
360
+ @Test
361
+ fun testEndAtFieldValues () = runTest {
362
+ setupFirestoreData()
363
+ val query = Firebase .firestore
364
+ .collection(" testFirestoreQuerying" )
365
+ .orderBy(" prop1" , Direction .ASCENDING )
366
+
367
+ val firstPage = query.get().documents // First 2 results
368
+ assertEquals(3 , firstPage.size)
369
+ assertEquals(" aaa" , firstPage[0 ].get(" prop1" ))
370
+ assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
371
+ assertEquals(" ccc" , firstPage[2 ].get(" prop1" ))
372
+
373
+ val secondPage = query.endAt(" bbb" ).get().documents
374
+ assertEquals(2 , secondPage.size)
375
+ assertEquals(" aaa" , secondPage[0 ].get(" prop1" ))
376
+ assertEquals(" bbb" , secondPage[1 ].get(" prop1" ))
377
+ }
378
+
301
379
@Test
302
380
fun testIncrementFieldValue () = runTest {
303
381
val doc = Firebase .firestore
0 commit comments