@@ -383,6 +383,29 @@ public function testPaginate(): void
383383 $ this ->assertEquals (1 , $ results ->currentPage ());
384384 }
385385
386+ public function testCursorPaginate (): void
387+ {
388+ $ results = User::cursorPaginate (2 );
389+ $ this ->assertEquals (2 , $ results ->count ());
390+ $ this ->assertNotNull ($ results ->first ()->title );
391+ $ this ->assertNotNull ($ results ->nextCursor ());
392+ $ this ->assertTrue ($ results ->onFirstPage ());
393+
394+ $ results = User::cursorPaginate (2 , ['name ' , 'age ' ]);
395+ $ this ->assertEquals (2 , $ results ->count ());
396+ $ this ->assertNull ($ results ->first ()->title );
397+
398+ $ results = User::orderBy ('age ' , 'desc ' )->cursorPaginate (2 , ['name ' , 'age ' ]);
399+ $ this ->assertEquals (2 , $ results ->count ());
400+ $ this ->assertEquals (37 , $ results ->first ()->age );
401+ $ this ->assertNull ($ results ->first ()->title );
402+
403+ $ results = User::whereNotNull ('age ' )->orderBy ('age ' , 'asc ' )->cursorPaginate (2 , ['name ' , 'age ' ]);
404+ $ this ->assertEquals (2 , $ results ->count ());
405+ $ this ->assertEquals (13 , $ results ->first ()->age );
406+ $ this ->assertNull ($ results ->first ()->title );
407+ }
408+
386409 public function testUpdate (): void
387410 {
388411 $ this ->assertEquals (1 , User::where (['name ' => 'John Doe ' ])->update (['name ' => 'Jim Morrison ' ]));
0 commit comments