@@ -234,11 +234,74 @@ class FirebaseFirestoreTest {
234234
235235 val lastDocumentSnapshot = firstPage.lastOrNull()
236236 assertNotNull(lastDocumentSnapshot)
237- val secondPage = query.startAfter(lastDocumentSnapshot).limit(2 ).get().documents // Second 2 results (only one left)
237+
238+ val secondPage = query.startAfter(lastDocumentSnapshot).limit(2 ).get().documents
238239 assertEquals(1 , secondPage.size)
239240 assertEquals(" ccc" , secondPage[0 ].get(" prop1" ))
240241 }
241242
243+ @Test
244+ fun testStartAfterFieldValues () = runTest {
245+ setupFirestoreData()
246+ val query = Firebase .firestore
247+ .collection(" testFirestoreQuerying" )
248+ .orderBy(" prop1" , Direction .ASCENDING )
249+
250+ val firstPage = query.limit(2 ).get().documents // First 2 results
251+ assertEquals(2 , firstPage.size)
252+ assertEquals(" aaa" , firstPage[0 ].get(" prop1" ))
253+ assertEquals(" bbb" , firstPage[1 ].get(" prop1" ))
254+
255+ val lastDocumentSnapshot = firstPage.lastOrNull()
256+ assertNotNull(lastDocumentSnapshot)
257+
258+ val secondPage = query.startAfter(" bbb" ).limit(2 ).get().documents
259+ assertEquals(1 , secondPage.size)
260+ assertEquals(" ccc" , secondPage[0 ].get(" prop1" ))
261+ }
262+
263+ // @Test
264+ // fun testStartAtDocumentSnapshot() = runTest {
265+ // setupFirestoreData()
266+ // val query = Firebase.firestore
267+ // .collection("testFirestoreQuerying")
268+ // .orderBy("prop1", Direction.ASCENDING)
269+ //
270+ // val firstPage = query.limit(2).get().documents // First 2 results
271+ // assertEquals(2, firstPage.size)
272+ //
273+ // assertEquals("aaa", firstPage[0].get("prop1"))
274+ // assertEquals("bbb", firstPage[1].get("prop1"))
275+ //
276+ // val lastDocumentSnapshot = firstPage.lastOrNull()
277+ // assertNotNull(lastDocumentSnapshot)
278+ //
279+ // val secondPage = query.startAt(lastDocumentSnapshot).limit(2).get().documents
280+ // assertEquals(2, secondPage.size)
281+ // assertEquals("bbb", secondPage[0].get("prop1"))
282+ // assertEquals("ccc", secondPage[1].get("prop1"))
283+ // }
284+ //
285+ // @Test
286+ // fun testStartAtFieldValues() = runTest {
287+ // setupFirestoreData()
288+ // val query = Firebase.firestore
289+ // .collection("testFirestoreQuerying")
290+ // .orderBy("prop1", Direction.ASCENDING)
291+ //
292+ // val firstPage = query.limit(2).get().documents // First 2 results
293+ // assertEquals(2, firstPage.size)
294+ // assertEquals("aaa", firstPage[0].get("prop1"))
295+ // assertEquals("bbb", firstPage[1].get("prop1"))
296+ //
297+ // val lastDocumentSnapshot = firstPage.lastOrNull()
298+ // assertNotNull(lastDocumentSnapshot)
299+ // val secondPage = query.startAfter("bbb").limit(2).get().documents
300+ // assertEquals(2, secondPage.size)
301+ // assertEquals("bbb", secondPage[0].get("prop1"))
302+ // assertEquals("ccc", secondPage[1].get("prop1"))
303+ // }
304+
242305 @Test
243306 fun testIncrementFieldValue () = runTest {
244307 val doc = Firebase .firestore
0 commit comments