Fix flaky user ordering assertion in SettingsApiTest
linter / quality (pull_request) Successful in 1m22s
tests / ci (8.4) (pull_request) Successful in 1m41s

This commit is contained in:
2026-05-20 13:58:34 +00:00
parent 31c5025185
commit 384080648e
+19 -9
View File
@@ -154,7 +154,7 @@ class SettingsApiTest extends TestCase
{
[$user, $project] = $this->projectContext();
$viewer = User::factory()->create(['name' => 'Visible User']);
User::factory()->create(['name' => 'Hidden User']);
$hiddenUser = User::factory()->create(['name' => 'Hidden User']);
$teamViewer = User::factory()->create(['name' => 'Team Viewer']);
$team = Team::factory()->create();
@@ -172,21 +172,31 @@ class SettingsApiTest extends TestCase
'title' => 'Scoped users ticket',
]);
$this->withApplicationKey($user)
$expectedUserIds = [$user->id, $viewer->id, $teamViewer->id];
$backlogResponse = $this->withApplicationKey($user)
->getJson(route('api.projects.backlog', $project))
->assertOk()
->assertJsonPath('data.users.0.name', $user->name)
->assertJsonPath('data.users.1.name', 'Team Viewer')
->assertJsonPath('data.users.2.name', 'Visible User')
->assertJsonCount(3, 'data.users');
$this->withApplicationKey($user)
$backlogUserIds = collect($backlogResponse->json('data.users'))
->pluck('id')
->all();
$this->assertEqualsCanonicalizing($expectedUserIds, $backlogUserIds);
$this->assertNotContains($hiddenUser->id, $backlogUserIds);
$ticketResponse = $this->withApplicationKey($user)
->getJson(route('api.projects.tickets.show', [$project, $ticket]))
->assertOk()
->assertJsonPath('data.users.0.name', $user->name)
->assertJsonPath('data.users.1.name', 'Team Viewer')
->assertJsonPath('data.users.2.name', 'Visible User')
->assertJsonCount(3, 'data.users');
$ticketUserIds = collect($ticketResponse->json('data.users'))
->pluck('id')
->all();
$this->assertEqualsCanonicalizing($expectedUserIds, $ticketUserIds);
$this->assertNotContains($hiddenUser->id, $ticketUserIds);
}
public function test_project_repositories_and_user_git_connections_are_available(): void