Files
coolify/tests/Feature/ApplicationGeneralLayoutTest.php
Andras Bacsai 32bf1860d4 feat(domains): add structured URL editing and responsive domain controls
Add reusable domain URL parsing and input components, expose per-domain
redirect and indexing controls, and improve application and service domain
layouts across responsive breakpoints.
2026-08-11 00:06:55 +02:00

50 lines
2.0 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="mb-2 flex items-center justify-between gap-4">');
});
test('unsaved changes ignore compose initialization state', function () {
$view = file_get_contents(resource_path('views/livewire/project/application/general.blade.php'));
$unsavedBar = str($view)
->after('<x-unsaved-bar action="submit"')
->before('/>')
->toString();
expect($unsavedBar)
->toContain('targets="')
->toContain('name,description')
->not->toContain('initLoadingCompose')
->not->toContain('dockerComposeRaw')
->not->toContain('dockerCompose,');
});
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"');
});