migrating tests (Databases)

This commit is contained in:
Saeed Vaziry 2024-10-08 23:55:17 +02:00
parent eaecafc9b0
commit 0007e6f00a
2 changed files with 31 additions and 16 deletions

View File

@ -28,7 +28,8 @@ public function mount(): void
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Action::make('Create Database') Action::make('create')
->label('Create Database')
->icon('heroicon-o-plus') ->icon('heroicon-o-plus')
->modalWidth(MaxWidth::Large) ->modalWidth(MaxWidth::Large)
->authorize(fn () => auth()->user()?->can('create', [Database::class, $this->server])) ->authorize(fn () => auth()->user()?->can('create', [Database::class, $this->server]))

View File

@ -6,7 +6,10 @@
use App\Enums\DatabaseUserStatus; use App\Enums\DatabaseUserStatus;
use App\Facades\SSH; use App\Facades\SSH;
use App\Models\Database; use App\Models\Database;
use App\Web\Pages\Servers\Databases\Index;
use App\Web\Pages\Servers\Databases\Widgets\DatabasesList;
use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\RefreshDatabase;
use Livewire\Livewire;
use Tests\TestCase; use Tests\TestCase;
class DatabaseTest extends TestCase class DatabaseTest extends TestCase
@ -19,9 +22,13 @@ public function test_create_database(): void
SSH::fake(); SSH::fake();
$this->post(route('servers.databases.store', $this->server), [ Livewire::test(Index::class, [
'server' => $this->server,
])
->callAction('create', [
'name' => 'database', 'name' => 'database',
])->assertSessionDoesntHaveErrors(); ])
->assertSuccessful();
$this->assertDatabaseHas('databases', [ $this->assertDatabaseHas('databases', [
'name' => 'database', 'name' => 'database',
@ -35,14 +42,18 @@ public function test_create_database_with_user(): void
SSH::fake(); SSH::fake();
$this->post(route('servers.databases.store', $this->server), [ Livewire::test(Index::class, [
'server' => $this->server,
])
->callAction('create', [
'name' => 'database', 'name' => 'database',
'user' => 'on', 'user' => true,
'username' => 'user', 'username' => 'user',
'password' => 'password', 'password' => 'password',
'remote' => 'on', 'remote' => true,
'host' => '%', 'host' => '%',
])->assertSessionDoesntHaveErrors(); ])
->assertSuccessful();
$this->assertDatabaseHas('databases', [ $this->assertDatabaseHas('databases', [
'name' => 'database', 'name' => 'database',
@ -65,7 +76,7 @@ public function test_see_databases_list(): void
'server_id' => $this->server, 'server_id' => $this->server,
]); ]);
$this->get(route('servers.databases', $this->server)) $this->get(Index::getUrl(['server' => $this->server]))
->assertSuccessful() ->assertSuccessful()
->assertSee($database->name); ->assertSee($database->name);
} }
@ -80,10 +91,13 @@ public function test_delete_database(): void
'server_id' => $this->server, 'server_id' => $this->server,
]); ]);
$this->delete(route('servers.databases.destroy', [$this->server, $database])) Livewire::test(DatabasesList::class, [
->assertSessionDoesntHaveErrors(); 'server' => $this->server,
])
->callTableAction('delete', $database->id)
->assertSuccessful();
$this->assertDatabaseMissing('databases', [ $this->assertSoftDeleted('databases', [
'id' => $database->id, 'id' => $database->id,
]); ]);
} }