Files
BetiX/tests/Feature/Gateway/GuildControllerTest.php
Dolo 0280278978
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Initialer Laravel Commit für BetiX
2026-04-04 18:01:50 +02:00

54 lines
1.5 KiB
PHP

<?php
namespace Tests\Feature\Gateway;
use App\Models\User;
use Illuminate\Support\Facades\Http;
use Tests\TestCase;
class GuildControllerTest extends TestCase
{
private function base(): string
{
return rtrim((string) config('services.backend.base'), '/');
}
private function actingUser()
{
if (class_exists(User::class) && method_exists(User::class, 'factory')) {
return User::factory()->make(['id' => 801, 'username' => 'guilduser']);
}
return new class {
public $id = 801; public $username = 'guilduser'; public $role = 'User';
};
}
public function test_index_renders_with_upstream_data()
{
Http::fake([
$this->base() . '/guilds' => Http::response([
'guild' => ['id' => 1, 'name' => 'Testers'],
'myRole' => 'member',
'canManage' => false,
'invite' => 'AAAAAA',
'wager' => ['value' => 0],
'topPlayers' => [],
], 200),
]);
$res = $this->actingAs($this->actingUser())->get('/guilds');
$res->assertStatus(200);
}
public function test_top_renders_list()
{
Http::fake([
$this->base() . '/guilds/top' => Http::response([
'guilds' => [ ['id' => 1, 'name' => 'A'], ['id' => 2, 'name' => 'B'] ],
], 200),
]);
$res = $this->actingAs($this->actingUser())->get('/guilds/top');
$res->assertStatus(200);
}
}