From 0007e6f00af45ab2daf230b79fdd236f94b3568c Mon Sep 17 00:00:00 2001 From: Saeed Vaziry Date: Tue, 8 Oct 2024 23:55:17 +0200 Subject: [PATCH] migrating tests (Databases) --- app/Web/Pages/Servers/Databases/Index.php | 3 +- tests/Feature/DatabaseTest.php | 44 +++++++++++++++-------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/app/Web/Pages/Servers/Databases/Index.php b/app/Web/Pages/Servers/Databases/Index.php index 9af9ce9..1734a9f 100644 --- a/app/Web/Pages/Servers/Databases/Index.php +++ b/app/Web/Pages/Servers/Databases/Index.php @@ -28,7 +28,8 @@ public function mount(): void protected function getHeaderActions(): array { return [ - Action::make('Create Database') + Action::make('create') + ->label('Create Database') ->icon('heroicon-o-plus') ->modalWidth(MaxWidth::Large) ->authorize(fn () => auth()->user()?->can('create', [Database::class, $this->server])) diff --git a/tests/Feature/DatabaseTest.php b/tests/Feature/DatabaseTest.php index 3b62a0b..3df6351 100644 --- a/tests/Feature/DatabaseTest.php +++ b/tests/Feature/DatabaseTest.php @@ -6,7 +6,10 @@ use App\Enums\DatabaseUserStatus; use App\Facades\SSH; 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 Livewire\Livewire; use Tests\TestCase; class DatabaseTest extends TestCase @@ -19,9 +22,13 @@ public function test_create_database(): void SSH::fake(); - $this->post(route('servers.databases.store', $this->server), [ - 'name' => 'database', - ])->assertSessionDoesntHaveErrors(); + Livewire::test(Index::class, [ + 'server' => $this->server, + ]) + ->callAction('create', [ + 'name' => 'database', + ]) + ->assertSuccessful(); $this->assertDatabaseHas('databases', [ 'name' => 'database', @@ -35,14 +42,18 @@ public function test_create_database_with_user(): void SSH::fake(); - $this->post(route('servers.databases.store', $this->server), [ - 'name' => 'database', - 'user' => 'on', - 'username' => 'user', - 'password' => 'password', - 'remote' => 'on', - 'host' => '%', - ])->assertSessionDoesntHaveErrors(); + Livewire::test(Index::class, [ + 'server' => $this->server, + ]) + ->callAction('create', [ + 'name' => 'database', + 'user' => true, + 'username' => 'user', + 'password' => 'password', + 'remote' => true, + 'host' => '%', + ]) + ->assertSuccessful(); $this->assertDatabaseHas('databases', [ 'name' => 'database', @@ -65,7 +76,7 @@ public function test_see_databases_list(): void 'server_id' => $this->server, ]); - $this->get(route('servers.databases', $this->server)) + $this->get(Index::getUrl(['server' => $this->server])) ->assertSuccessful() ->assertSee($database->name); } @@ -80,10 +91,13 @@ public function test_delete_database(): void 'server_id' => $this->server, ]); - $this->delete(route('servers.databases.destroy', [$this->server, $database])) - ->assertSessionDoesntHaveErrors(); + Livewire::test(DatabasesList::class, [ + 'server' => $this->server, + ]) + ->callTableAction('delete', $database->id) + ->assertSuccessful(); - $this->assertDatabaseMissing('databases', [ + $this->assertSoftDeleted('databases', [ 'id' => $database->id, ]); }