Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/tests/Integration/Http/Controllers/Admin/UserController/DeleteUserTest.php
10294 views
1
<?php
2
3
namespace Pterodactyl\Tests\Integration\Http\Controllers\Admin\UserController;
4
5
use Pterodactyl\Models\User;
6
use Pterodactyl\Tests\Integration\Http\HttpTestCase;
7
8
class DeleteUserTest extends HttpTestCase
9
{
10
public function testNonAdminCannotAccessEndpoint(): void
11
{
12
$this->actingAs(User::factory()->create())
13
->delete(route('admin.users.delete', ['user' => User::factory()->create()]))
14
->assertForbidden();
15
}
16
17
public function testCannotDeleteSelf(): void
18
{
19
$this->actingAs($user = User::factory()->admin()->create())
20
->delete(route('admin.users.delete', ['user' => $user]))
21
->assertBadRequest()
22
->assertJsonPath('errors.0.detail', __('admin/user.exceptions.delete_self'));
23
24
$this->assertModelExists($user);
25
}
26
27
public function testUserIsDeleted(): void
28
{
29
$user = User::factory()->create();
30
31
$this->actingAs(User::factory()->admin()->create())
32
->delete(route('admin.users.delete', ['user' => $user]))
33
->assertRedirectToRoute('admin.users');
34
35
$this->assertModelMissing($user);
36
}
37
}
38
39