48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
|
|
use App\Models\Backup;
|
|
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('backups.index'))->assertRedirect(route('login'));
|
|
});
|
|
|
|
it('renders backups page chrome', function () {
|
|
$user = User::factory()->create(['email_verified_at' => now()]);
|
|
|
|
actingAs($user)->get(route('backups.index'))
|
|
->assertStatus(200)
|
|
->assertSeeText('Backups')
|
|
->assertSeeText('Letztes Backup')
|
|
->assertSeeText('Storage')
|
|
->assertSeeText('Recovery-Points')
|
|
->assertSeeText('Fehlgeschlagen')
|
|
->assertSeeText('Neueste Backups')
|
|
->assertSeeText('Daily Backups')
|
|
->assertSeeText('Hourly Snapshots')
|
|
->assertSee('clu-pager', false);
|
|
});
|
|
|
|
it('shows seeded backups in the table', function () {
|
|
$user = User::factory()->create(['email_verified_at' => now()]);
|
|
$server = Server::factory()->create();
|
|
$site = Site::factory()->create(['server_id' => $server->id, 'domain' => 'backup-test.de']);
|
|
Backup::factory()->create(['site_id' => $site->id, 'status' => 'ok']);
|
|
|
|
actingAs($user)->get(route('backups.index'))
|
|
->assertStatus(200)
|
|
->assertSeeText('backup-test.de');
|
|
});
|
|
|
|
it('toggles config switches', function () {
|
|
livewire('pages.backups.index')
|
|
->assertSet('replicationEnabled', false)
|
|
->set('replicationEnabled', true)
|
|
->assertSet('replicationEnabled', true);
|
|
});
|