|
2 | 2 |
|
3 | 3 | namespace Baril\Sqlout\Tests; |
4 | 4 |
|
5 | | -use DB; |
6 | 5 | use Baril\Sqlout\Builder; |
7 | 6 | use Baril\Sqlout\SearchIndex; |
8 | 7 | use Baril\Sqlout\Tests\Models\Comment; |
9 | 8 | use Baril\Sqlout\Tests\Models\Post; |
| 9 | +use Illuminate\Contracts\Pagination\Paginator; |
10 | 10 | use Illuminate\Database\Eloquent\Relations\Relation; |
| 11 | +use Illuminate\Support\Facades\DB as DB; |
| 12 | +use Illuminate\Support\LazyCollection; |
11 | 13 | use Laravel\Scout\Builder as ScoutBuilder; |
12 | 14 | use Wamania\Snowball\StemmerFactory; |
13 | 15 |
|
@@ -284,9 +286,35 @@ public function test_lazy() |
284 | 286 | }); |
285 | 287 |
|
286 | 288 | $search = Post::search('kikikuku'); |
287 | | - $results = $search->get()->all(); |
288 | | - $lazyResults = $search->cursor()->all(); |
| 289 | + $results = $search->get(); |
| 290 | + $lazyResults = $search->cursor(); |
| 291 | + $this->assertInstanceOf(LazyCollection::class, $lazyResults); |
289 | 292 | $this->assertCount(3, $lazyResults); |
290 | | - $this->assertEquals($results, $lazyResults); |
| 293 | + $this->assertEquals($results->all(), $lazyResults->all()); |
| 294 | + } |
| 295 | + |
| 296 | + public function test_limit() |
| 297 | + { |
| 298 | + Post::query()->update(['title' => 'testing limit']); |
| 299 | + Post::all()->searchable(); |
| 300 | + |
| 301 | + $search = Post::search('limit')->take(1); |
| 302 | + $this->assertEquals(1, $search->get()->count()); |
| 303 | + } |
| 304 | + |
| 305 | + public function test_paginate() |
| 306 | + { |
| 307 | + Post::query()->update(['title' => 'testing paginate']); |
| 308 | + Post::all()->searchable(); |
| 309 | + $ids = Post::pluck('id')->sort(); |
| 310 | + |
| 311 | + $paginator = Post::search('paginate')->orderBy('id')->simplePaginate(2, 'page', 2); |
| 312 | + $this->assertInstanceOf(Paginator::class, $paginator); |
| 313 | + $this->assertCount(2, $paginator->items()); |
| 314 | + $this->assertEquals(2, $paginator->currentPage()); |
| 315 | + $this->assertEquals( |
| 316 | + $ids->skip(2)->take(2)->values()->all(), |
| 317 | + array_map(fn($item) => $item->id, $paginator->items()) |
| 318 | + ); |
291 | 319 | } |
292 | 320 | } |
0 commit comments