@if ($this->runningDeploymentUrl)
diff --git a/resources/views/livewire/project/application/status.blade.php b/resources/views/livewire/project/application/status.blade.php
index 7897d095ed..88f8eb886b 100644
--- a/resources/views/livewire/project/application/status.blade.php
+++ b/resources/views/livewire/project/application/status.blade.php
@@ -1,4 +1,4 @@
diff --git a/resources/views/livewire/project/database/heading.blade.php b/resources/views/livewire/project/database/heading.blade.php
index 92c33bfb8b..abf58177c7 100644
--- a/resources/views/livewire/project/database/heading.blade.php
+++ b/resources/views/livewire/project/database/heading.blade.php
@@ -65,7 +65,8 @@
{{ $database->name }}
-
+
@if ($isDeploymentProgress)
@endif
diff --git a/resources/views/livewire/project/database/status.blade.php b/resources/views/livewire/project/database/status.blade.php
index 468f855bf2..489a811378 100644
--- a/resources/views/livewire/project/database/status.blade.php
+++ b/resources/views/livewire/project/database/status.blade.php
@@ -1,4 +1,4 @@
-
+
diff --git a/tests/Feature/ApplicationHeadingActiveTabTest.php b/tests/Feature/ApplicationHeadingActiveTabTest.php
index eba38ca5e6..4117749b13 100644
--- a/tests/Feature/ApplicationHeadingActiveTabTest.php
+++ b/tests/Feature/ApplicationHeadingActiveTabTest.php
@@ -98,3 +98,20 @@ it('refreshes the breadcrumb application status after it changes', function () {
expect($component->instance()->getListeners())
->toHaveKey("echo-private:team.{$this->team->id},ServiceChecked", 'refreshStatus');
});
+
+it('links the application healthcheck status to the healthcheck page', function () {
+ $this->actingAs($this->admin);
+ session(['currentTeam' => $this->team]);
+
+ $healthcheckUrl = route('project.application.healthcheck', [
+ 'project_uuid' => $this->project->uuid,
+ 'environment_uuid' => $this->environment->uuid,
+ 'application_uuid' => $this->application->uuid,
+ ]);
+
+ Livewire::test(ApplicationStatus::class, ['application' => $this->application])
+ ->assertSeeHtml('href="'.$healthcheckUrl.'"');
+
+ Livewire::test(ApplicationHeading::class, ['application' => $this->application])
+ ->assertSeeHtml('href="'.$healthcheckUrl.'"');
+});
diff --git a/tests/Feature/PreviewStatusSummaryTest.php b/tests/Feature/PreviewStatusSummaryTest.php
index 2156e708e2..e36dba9852 100644
--- a/tests/Feature/PreviewStatusSummaryTest.php
+++ b/tests/Feature/PreviewStatusSummaryTest.php
@@ -28,3 +28,22 @@ it('shows degraded aggregate service status as a warning', function () {
->toContain('bg-warning')
->not->toContain('bg-error');
});
+
+it('links the healthcheck row to the healthcheck page and keeps the helper outside the link', function () {
+ $html = Blade::render('
');
+ $link = str($html)->after('href="https://coolify.test/healthcheck"')->before('')->toString();
+
+ expect($html)->toContain('href="https://coolify.test/healthcheck"')
+ ->and($link)
+ ->toContain('Healthcheck')
+ ->toContain('Not configured')
+ ->not->toContain('About unconfigured healthchecks')
+ ->and(str($html)->after('')->toString())
+ ->toContain('aria-label="About unconfigured healthchecks"');
+});
+
+it('does not link the healthcheck row without a healthcheck url', function () {
+ $html = Blade::render('
');
+
+ expect($html)->not->toContain('role="menuitem"');
+});
diff --git a/tests/Feature/ResourceBreadcrumbStatusTest.php b/tests/Feature/ResourceBreadcrumbStatusTest.php
index c3bcb035a9..e2358e4546 100644
--- a/tests/Feature/ResourceBreadcrumbStatusTest.php
+++ b/tests/Feature/ResourceBreadcrumbStatusTest.php
@@ -44,7 +44,12 @@ it('refreshes the breadcrumb database status after it changes', function () {
]);
$component = Livewire::test(DatabaseStatus::class, ['database' => $database])
- ->assertSee('Running');
+ ->assertSee('Running')
+ ->assertSeeHtml('href="'.route('project.database.healthcheck', [
+ 'project_uuid' => $this->project->uuid,
+ 'environment_uuid' => $this->environment->uuid,
+ 'database_uuid' => $database->uuid,
+ ]).'"');
$database->update(['status' => 'exited']);