@@ -330,8 +330,11 @@ describe("paginator", () => {
330
330
const t = convexTest ( schema , modules ) ;
331
331
await t . run ( async ( ctx ) => {
332
332
await ctx . db . insert ( "foo" , { a : 1 , b : 5 , c : 1 } ) ;
333
+ await ctx . db . insert ( "foo" , { a : 1 , b : 5 , c : 2 } ) ;
334
+ await ctx . db . insert ( "foo" , { a : 1 , b : 5 , c : 3 } ) ;
333
335
await ctx . db . insert ( "foo" , { a : 1 , b : 6 , c : 1 } ) ;
334
336
await ctx . db . insert ( "foo" , { a : 1 , b : 3 , c : 1 } ) ;
337
+ await ctx . db . insert ( "foo" , { a : 1 , b : 3 , c : 2 } ) ;
335
338
await ctx . db . insert ( "foo" , { a : 1 , b : 4 , c : 1 } ) ;
336
339
await ctx . db . insert ( "foo" , { a : 1 , b : 4 , c : 2 } ) ;
337
340
const result1 = await paginator ( ctx . db , schema )
@@ -340,20 +343,30 @@ describe("paginator", () => {
340
343
. order ( "desc" )
341
344
. paginate ( { cursor : null , numItems : 2 } ) ;
342
345
expect ( result1 . page . map ( stripSystemFields ) ) . toEqual ( [
343
- { a : 1 , b : 5 , c : 1 } ,
344
- { a : 1 , b : 4 , c : 2 } ,
346
+ { a : 1 , b : 5 , c : 3 } ,
347
+ { a : 1 , b : 5 , c : 2 } ,
345
348
] ) ;
346
349
expect ( result1 . isDone ) . toBe ( false ) ;
347
350
348
351
const result2 = await paginator ( ctx . db , schema )
349
352
. query ( "foo" )
350
353
. withIndex ( "abc" , ( q ) => q . eq ( "a" , 1 ) . gt ( "b" , 3 ) . lte ( "b" , 5 ) )
351
354
. order ( "desc" )
352
- . paginate ( { cursor : result1 . continueCursor , numItems : 2 } ) ;
355
+ . paginate ( { cursor : result1 . continueCursor , numItems : 3 } ) ;
353
356
expect ( result2 . page . map ( stripSystemFields ) ) . toEqual ( [
357
+ { a : 1 , b : 5 , c : 1 } ,
358
+ { a : 1 , b : 4 , c : 2 } ,
354
359
{ a : 1 , b : 4 , c : 1 } ,
355
360
] ) ;
356
- expect ( result2 . isDone ) . toBe ( true ) ;
361
+ expect ( result2 . isDone ) . toBe ( false ) ;
362
+
363
+ const result3 = await paginator ( ctx . db , schema )
364
+ . query ( "foo" )
365
+ . withIndex ( "abc" , ( q ) => q . eq ( "a" , 1 ) . gt ( "b" , 3 ) . lte ( "b" , 5 ) )
366
+ . order ( "desc" )
367
+ . paginate ( { cursor : result2 . continueCursor , numItems : 2 } ) ;
368
+ expect ( result3 . page . map ( stripSystemFields ) ) . toEqual ( [ ] ) ;
369
+ expect ( result3 . isDone ) . toBe ( true ) ;
357
370
} ) ;
358
371
} ) ;
359
372
0 commit comments