Initialer Laravel Commit für BetiX
This commit is contained in:
69
tests/Feature/Gateway/AdminControllerTest.php
Normal file
69
tests/Feature/Gateway/AdminControllerTest.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Gateway;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Tests\TestCase;
|
||||
|
||||
class AdminControllerTest extends TestCase
|
||||
{
|
||||
private function base(): string { return rtrim((string) config('services.backend.base'), '/'); }
|
||||
|
||||
private function adminUser()
|
||||
{
|
||||
return User::factory()->create([
|
||||
'username' => 'admin',
|
||||
'role' => 'Admin',
|
||||
'email_verified_at' => now()
|
||||
]);
|
||||
}
|
||||
|
||||
public function test_index_renders_for_admin()
|
||||
{
|
||||
Http::fake([
|
||||
$this->base() . '/admin/overview' => Http::response([
|
||||
'users' => [ ['id'=>1,'username'=>'u1','balance'=>0] ],
|
||||
], 200),
|
||||
]);
|
||||
|
||||
$res = $this->actingAs($this->adminUser(), 'web')->get('/admin/casino');
|
||||
$res->assertStatus(200);
|
||||
}
|
||||
|
||||
public function test_update_user_success_sets_flash()
|
||||
{
|
||||
$userToUpdate = User::factory()->create();
|
||||
|
||||
Http::fake([
|
||||
$this->base() . '/admin/users/' . $userToUpdate->id => Http::response(['message' => 'User aktualisiert.'], 200),
|
||||
]);
|
||||
|
||||
$res = $this->actingAs($this->adminUser(), 'web')
|
||||
->post('/admin/users/' . $userToUpdate->id, [
|
||||
'username' => 'newname',
|
||||
'email' => 'new@example.com',
|
||||
'vip_level' => 2
|
||||
]);
|
||||
|
||||
$res->assertSessionHas('success');
|
||||
}
|
||||
|
||||
public function test_update_user_client_error_sets_error()
|
||||
{
|
||||
$userToUpdate = User::factory()->create();
|
||||
|
||||
Http::fake([
|
||||
$this->base() . '/admin/users/' . $userToUpdate->id => Http::response(['message' => 'Invalid'], 400),
|
||||
]);
|
||||
|
||||
$res = $this->actingAs($this->adminUser(), 'web')
|
||||
->post('/admin/users/' . $userToUpdate->id, [
|
||||
'username' => 'newname',
|
||||
'email' => 'invalid-email',
|
||||
'vip_level' => 999
|
||||
]);
|
||||
|
||||
$res->assertSessionHasErrors();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user