Fix flaky user ordering assertion in SettingsApiTest
This commit is contained in:
@@ -154,7 +154,7 @@ class SettingsApiTest extends TestCase
|
|||||||
{
|
{
|
||||||
[$user, $project] = $this->projectContext();
|
[$user, $project] = $this->projectContext();
|
||||||
$viewer = User::factory()->create(['name' => 'Visible User']);
|
$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']);
|
$teamViewer = User::factory()->create(['name' => 'Team Viewer']);
|
||||||
$team = Team::factory()->create();
|
$team = Team::factory()->create();
|
||||||
|
|
||||||
@@ -172,21 +172,31 @@ class SettingsApiTest extends TestCase
|
|||||||
'title' => 'Scoped users ticket',
|
'title' => 'Scoped users ticket',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->withApplicationKey($user)
|
$expectedUserIds = [$user->id, $viewer->id, $teamViewer->id];
|
||||||
|
|
||||||
|
$backlogResponse = $this->withApplicationKey($user)
|
||||||
->getJson(route('api.projects.backlog', $project))
|
->getJson(route('api.projects.backlog', $project))
|
||||||
->assertOk()
|
->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');
|
->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]))
|
->getJson(route('api.projects.tickets.show', [$project, $ticket]))
|
||||||
->assertOk()
|
->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');
|
->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
|
public function test_project_repositories_and_user_git_connections_are_available(): void
|
||||||
|
|||||||
Reference in New Issue
Block a user