create(); $profileUser = User::factory()->create(); $oldestMeal = MealPosts::factory()->for($profileUser, 'user')->create([ 'eaten_at' => '2026-08-08 12:00:00', 'visibility' => MealPostVisibility::Public, ]); $middleMeal = MealPosts::factory()->for($profileUser, 'user')->create([ 'eaten_at' => '2026-08-09 12:00:00', 'visibility' => MealPostVisibility::Public, ]); $latestMeal = MealPosts::factory()->for($profileUser, 'user')->create([ 'eaten_at' => '2026-08-10 12:00:00', 'visibility' => MealPostVisibility::Public, ]); MealPosts::factory()->for($profileUser, 'user')->create([ 'visibility' => MealPostVisibility::Private, ]); Sanctum::actingAs($viewer); $this->getJson("/api/users/{$profileUser->id}?per_page=2&page=1") ->assertOk() ->assertJsonCount(2, 'data.meals') ->assertJsonPath('data.meals.0.id', $latestMeal->id) ->assertJsonPath('data.meals.1.id', $middleMeal->id) ->assertJsonPath('data.mealsPagination.currentPage', 1) ->assertJsonPath('data.mealsPagination.lastPage', 2) ->assertJsonPath('data.mealsPagination.total', 3); $this->getJson("/api/users/{$profileUser->id}?per_page=2&page=2") ->assertOk() ->assertJsonCount(1, 'data.meals') ->assertJsonPath('data.meals.0.id', $oldestMeal->id) ->assertJsonPath('data.mealsPagination.currentPage', 2); });