Skip to content

Commit 38e9fd1

Browse files
update tests not to use a list and add tests for endBefore and endAt
1 parent 17880b8 commit 38e9fd1

File tree

1 file changed

+80
-2
lines changed
  • firebase-firestore/src/commonTest/kotlin/dev/gitlive/firebase/firestore

1 file changed

+80
-2
lines changed

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

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ class FirebaseFirestoreTest {
253253
assertEquals("bbb", firstPage[1].get("prop1"))
254254
assertEquals("ccc", firstPage[2].get("prop1"))
255255

256-
val secondPage = query.startAfter(listOf("bbb")).get().documents
256+
val secondPage = query.startAfter("bbb").get().documents
257257
assertEquals(1, secondPage.size)
258258
assertEquals("ccc", secondPage[0].get("prop1"))
259259
}
@@ -292,12 +292,90 @@ class FirebaseFirestoreTest {
292292
assertEquals("bbb", firstPage[1].get("prop1"))
293293
assertEquals("ccc", firstPage[2].get("prop1"))
294294

295-
val secondPage = query.startAt(listOf("bbb")).get().documents
295+
val secondPage = query.startAt("bbb").get().documents
296296
assertEquals(2, secondPage.size)
297297
assertEquals("bbb", secondPage[0].get("prop1"))
298298
assertEquals("ccc", secondPage[1].get("prop1"))
299299
}
300300

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+
301379
@Test
302380
fun testIncrementFieldValue() = runTest {
303381
val doc = Firebase.firestore

0 commit comments

Comments
 (0)