count(15)->create(['title' => 'Alpha']); Movie::factory()->count(10)->create(['title' => 'Beta']); $service = new ListMoviesService(); // Default per_page = 20, filter 'Alpha' returns 15 on first page $page = $service->list(['q' => 'Alpha']); $this->assertSame(15, $page->total()); $this->assertSame(1, $page->currentPage()); $this->assertCount(15, $page->items()); // Request per_page 10 $page10 = $service->list(['q' => 'Beta', 'per_page' => 10]); $this->assertSame(10, $page10->total()); $this->assertCount(10, $page10->items()); } }