This commit is contained in:
Saeed Vaziry
2024-10-13 12:33:12 +02:00
parent 386d8e73a7
commit 224e0ac2b0
49 changed files with 3668 additions and 766 deletions

View File

@ -3,7 +3,10 @@
namespace Tests\Feature;
use App\Models\SshKey;
use App\Web\Pages\Settings\SSHKeys\Index;
use App\Web\Pages\Settings\SSHKeys\Widgets\SshKeysList;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Livewire\Livewire;
use Tests\TestCase;
class SshKeysTest extends TestCase
@ -14,10 +17,12 @@ public function test_create_ssh_key(): void
{
$this->actingAs($this->user);
$this->post(route('settings.ssh-keys.add'), [
'name' => 'test',
'public_key' => 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== test@test.local',
])->assertSessionDoesntHaveErrors();
Livewire::test(Index::class)
->callAction('add', [
'name' => 'test',
'public_key' => 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== test@test.local',
])
->assertSuccessful();
}
public function test_get_public_keys_list(): void
@ -28,7 +33,7 @@ public function test_get_public_keys_list(): void
'user_id' => $this->user->id,
]);
$this->get(route('settings.ssh-keys'))
$this->get(Index::getUrl())
->assertSuccessful()
->assertSee($key->name);
}
@ -41,10 +46,11 @@ public function test_delete_key(): void
'user_id' => $this->user->id,
]);
$this->delete(route('settings.ssh-keys.delete', $key->id))
->assertSessionDoesntHaveErrors();
Livewire::test(SshKeysList::class)
->callTableAction('delete', $key->id)
->assertSuccessful();
$this->assertDatabaseMissing('ssh_keys', [
$this->assertSoftDeleted('ssh_keys', [
'id' => $key->id,
]);
}
@ -63,12 +69,13 @@ public function test_create_ssh_key_handles_invalid_or_partial_keys(array $postB
'public_key' => 'public-key-content',
]);
$response = $this->post(route('settings.ssh-keys.add'), $postBody);
$response = Livewire::test(Index::class)
->callAction('add', $postBody);
if ($expectedToSucceed) {
$response->assertSessionDoesntHaveErrors();
$response->assertHasNoActionErrors();
} else {
$response->assertSessionHasErrors('public_key', 'Invalid key');
$response->assertHasActionErrors();
}
}