40 lines
1.2 KiB
PHP
40 lines
1.2 KiB
PHP
<?php
|
|
|
|
use App\Models\Server;
|
|
use App\Models\Site;
|
|
use App\Models\User;
|
|
use function Pest\Laravel\actingAs;
|
|
use function Pest\Laravel\get;
|
|
use function Pest\Livewire\livewire;
|
|
|
|
it('redirects guests to login', function () {
|
|
get(route('servers.index'))->assertRedirect(route('login'));
|
|
});
|
|
|
|
it('renders servers chrome + grid', function () {
|
|
$user = User::factory()->create(['email_verified_at' => now()]);
|
|
$s = Server::factory()->create(['name' => 'eu-prod-77', 'env' => 'prod']);
|
|
Site::factory()->count(4)->create(['server_id' => $s->id]);
|
|
|
|
actingAs($user)->get(route('servers.index'))
|
|
->assertStatus(200)
|
|
->assertSeeText('Server')
|
|
->assertSeeText('Aktive Nodes')
|
|
->assertSeeText('Ø CPU Load')
|
|
->assertSeeText('Ø RAM')
|
|
->assertSeeText('eu-prod-77')
|
|
->assertSeeText('4 sites')
|
|
->assertSee('clu-server-card', false)
|
|
->assertSee('clu-gauge-bar', false);
|
|
});
|
|
|
|
it('filters by env segment', function () {
|
|
Server::factory()->create(['env' => 'prod', 'name' => 'p-1']);
|
|
Server::factory()->create(['env' => 'edge', 'name' => 'e-1']);
|
|
|
|
livewire('pages.servers.index')
|
|
->call('setEnv', 'edge')
|
|
->assertSee('e-1')
|
|
->assertDontSee('p-1');
|
|
});
|