2026-08-07 13:21:18 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
test('server creation keeps private key actions together and advanced options collapsed', function () {
|
|
|
|
|
$view = file_get_contents(resource_path('views/livewire/server/new/by-ip.blade.php'));
|
|
|
|
|
|
|
|
|
|
expect($view)
|
|
|
|
|
->toContain('class="flex items-end gap-3"')
|
|
|
|
|
->toContain('x-data="{ advancedOpen: false }"')
|
|
|
|
|
->toContain('x-show="advancedOpen" x-cloak')
|
|
|
|
|
->toContain('Advanced settings')
|
2026-08-07 13:41:39 +00:00
|
|
|
->toContain('class="flex w-full cursor-pointer items-center justify-between gap-3')
|
2026-08-07 13:21:18 +00:00
|
|
|
->toContain('label="Use as a dedicated build server"')
|
|
|
|
|
->toContain('helper="Build servers compile applications but do not host deployments. Enabling this makes the server build-only."');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('server creation places the IP address and private key before optional details', function () {
|
|
|
|
|
$view = file_get_contents(resource_path('views/livewire/server/new/by-ip.blade.php'));
|
|
|
|
|
|
|
|
|
|
expect($view)
|
|
|
|
|
->toContain('class="mb-5"')
|
|
|
|
|
->and(strpos($view, 'id="ip"'))->toBeLessThan(strpos($view, 'id="private_key_id"'))
|
|
|
|
|
->and(strpos($view, 'id="private_key_id"'))->toBeLessThan(strpos($view, 'id="name"'));
|
|
|
|
|
});
|