Skip to content

Commit 2406944

Browse files
add tests startAfter and startAt
1 parent 0272e2b commit 2406944

File tree

1 file changed

+64
-1
lines changed
  • firebase-firestore/src/commonTest/kotlin/dev/gitlive/firebase/firestore

1 file changed

+64
-1
lines changed

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

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)