diff --git a/public/API/API_GetGameLeaderboards.php b/public/API/API_GetGameLeaderboards.php index ab60863320..655a7f8955 100644 --- a/public/API/API_GetGameLeaderboards.php +++ b/public/API/API_GetGameLeaderboards.php @@ -80,6 +80,6 @@ return response()->json([ 'Count' => count($leaderboards), - 'Total' => $game->leaderboards()->count(), + 'Total' => $game->leaderboards()->visible()->count(), 'Results' => $results, ]); diff --git a/tests/Feature/Api/V1/GameLeaderboardsTest.php b/tests/Feature/Api/V1/GameLeaderboardsTest.php index 42d9cacb31..6cf676188d 100644 --- a/tests/Feature/Api/V1/GameLeaderboardsTest.php +++ b/tests/Feature/Api/V1/GameLeaderboardsTest.php @@ -152,6 +152,22 @@ public function testGetGameLeaderboards(): void 'score' => 3, ]); + /** @var Leaderboard $hiddenLeaderboard */ + $hiddenLeaderboard = Leaderboard::factory()->create([ + 'GameID' => $game->ID, + 'Title' => "Test hidden leaderboard", + 'Description' => "I am a hidden leaderboard", + 'Format' => "TIME", + 'LowerIsBetter' => 1, + 'DisplayOrder' => -1, + ]); + $userEight = User::factory()->create(['User' => 'myUser8']); + $leaderboardEntryFive = LeaderboardEntry::factory()->create([ + 'leaderboard_id' => $hiddenLeaderboard->ID, + 'user_id' => $userEight->ID, + 'score' => 2, + ]); + $this->get($this->apiUrl('GetGameLeaderboards', ['i' => $game->ID])) ->assertSuccessful() ->assertJson([