Normalize the tests between UI and API

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2024-06-22 19:51:56 +01:00
parent 3825f5fb61
commit 9f5b264e04
2 changed files with 15 additions and 17 deletions

View file

@ -96,31 +96,29 @@ class DeleteUserTest extends TestCase
->json(); ->json();
} }
public function testPermissionsForDeletingIfNotInSameCompanyAndNotSuperadmin() public function testPermissionsForDeletingIfNotInSameCompanyAndNotSuperadmin()
{ {
$this->settings->enableMultipleFullCompanySupport(); $this->settings->enableMultipleFullCompanySupport();
[$companyA, $companyB] = Company::factory()->count(2)->create(); [$companyA, $companyB] = Company::factory()->count(2)->create();
$superUser = $companyA->users()->save(User::factory()->superuser()->make()); $superuser = User::factory()->superuser()->create();
$userInCompanyA = $companyA->users()->save(User::factory()->deleteUsers()->make()); $userFromA = User::factory()->deleteUsers()->for($companyA)->create();
$userInCompanyB = $companyB->users()->save(User::factory()->deleteUsers()->make()); $userFromB = User::factory()->deleteUsers()->for($companyB)->create();
$this->actingAsForApi($userFromA)
$this->actingAsForApi($userInCompanyA) ->deleteJson(route('api.users.destroy', ['user' => $userFromB->id]))
->deleteJson(route('api.users.destroy', $userInCompanyB))
->assertStatus(403) ->assertStatus(403)
->json(); ->json();
$this->actingAsForApi($userInCompanyB) $this->actingAsForApi($userFromB)
->deleteJson(route('api.users.destroy', $userInCompanyA)) ->deleteJson(route('api.users.destroy', ['user' => $userFromA->id]))
->assertStatus(403) ->assertStatus(403)
->json(); ->json();
$this->actingAsForApi($superUser) $this->actingAsForApi($superuser)
->deleteJson(route('api.users.destroy', $userInCompanyA)) ->deleteJson(route('api.users.destroy', ['user' => $userFromA->id]))
->assertOk() ->assertOk()
->assertStatus(200) ->assertStatus(200)
->assertStatusMessageIs('success') ->assertStatusMessageIs('success')

View file

@ -57,15 +57,15 @@ class DeleteUserTest extends TestCase
[$companyA, $companyB] = Company::factory()->count(2)->create(); [$companyA, $companyB] = Company::factory()->count(2)->create();
$superuser = User::factory()->superuser()->create(); $superuser = User::factory()->superuser()->create();
$userFromA = User::factory()->for($companyA)->create(); $userFromA = User::factory()->deleteUsers()->for($companyA)->create();
$userFromB = User::factory()->for($companyB)->create(); $userFromB = User::factory()->deleteUsers()->for($companyB)->create();
$response = $this->followingRedirects()->actingAs(User::factory()->deleteUsers()->for($companyA)->create()) $response = $this->followingRedirects()->actingAs($userFromA)
->delete(route('users.destroy', ['user' => $userFromB->id])) ->delete(route('users.destroy', ['user' => $userFromB->id]))
->assertStatus(403); ->assertStatus(403);
$this->followRedirects($response)->assertSee('sad-panda.png'); $this->followRedirects($response)->assertSee('sad-panda.png');
$response = $this->actingAs(User::factory()->deleteUsers()->for($companyA)->create()) $response = $this->actingAs($userFromB)
->delete(route('users.destroy', ['user' => $userFromA->id])) ->delete(route('users.destroy', ['user' => $userFromA->id]))
->assertStatus(302) ->assertStatus(302)
->assertRedirect(route('users.index')); ->assertRedirect(route('users.index'));