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
{
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]))

View File

@ -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), [
Livewire::test(Index::class, [
'server' => $this->server,
])
->callAction('create', [
'name' => 'database',
])->assertSessionDoesntHaveErrors();
])
->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), [
Livewire::test(Index::class, [
'server' => $this->server,
])
->callAction('create', [
'name' => 'database',
'user' => 'on',
'user' => true,
'username' => 'user',
'password' => 'password',
'remote' => 'on',
'remote' => true,
'host' => '%',
])->assertSessionDoesntHaveErrors();
])
->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,
]);
}