mirror of
https://github.com/tiennm99/coolify.git
synced 2026-08-25 12:27:45 +00:00
Extract a shared forms collapsible for advanced SSH/build settings across boarding, server creation, and application general. Support larger modals with header actions, close the compose editor after save via compose-save-finished, and cover the layout in tests.
35 lines
1.5 KiB
PHP
35 lines
1.5 KiB
PHP
<?php
|
|
|
|
test('compose actions are grouped with the application details header', function () {
|
|
$view = file_get_contents(resource_path('views/livewire/project/application/general.blade.php'));
|
|
$applicationDetails = str($view)
|
|
->after('class="application-details-card">')
|
|
->before('</x-application.settings-section>')
|
|
->toString();
|
|
|
|
expect($applicationDetails)
|
|
->toContain('<x-slot:actions>')
|
|
->toContain('x-on:click="$wire.dispatch(\'loadCompose\', false)"')
|
|
->toContain('Reload compose');
|
|
});
|
|
|
|
test('docker compose heading separates its title and action', function () {
|
|
$view = file_get_contents(resource_path('views/livewire/project/application/general.blade.php'));
|
|
|
|
expect($view)
|
|
->toContain('<div x-data="{ showRaw: true }" class="mt-5">')
|
|
->toContain('<div class="flex items-center justify-between gap-4">');
|
|
});
|
|
|
|
test('onboarding uses the reusable advanced settings component', function () {
|
|
$view = file_get_contents(resource_path('views/livewire/project/application/general.blade.php'));
|
|
$onboarding = file_get_contents(resource_path('views/livewire/boarding/index.blade.php'));
|
|
|
|
expect($view)
|
|
->toContain('id="dockerComposeCustomBuildCommand"')
|
|
->not->toContain('<x-forms.collapsible class="pt-4" content-class="grid gap-4">')
|
|
->not->toContain('The following commands are for advanced use cases.')
|
|
->and($onboarding)
|
|
->toContain('<x-forms.collapsible title="Advanced Connection Settings"');
|
|
});
|