diff --git a/resources/views/livewire/project/application/deployment/show.blade.php b/resources/views/livewire/project/application/deployment/show.blade.php index c17cda55f..d6294f3c8 100644 --- a/resources/views/livewire/project/application/deployment/show.blade.php +++ b/resources/views/livewire/project/application/deployment/show.blade.php @@ -1,4 +1,4 @@ -
+
{{ data_get_str($application, 'name')->limit(10) }} > Deployment | Coolify @@ -165,13 +165,13 @@ this.scheduleScroll(); } } - }"> + }" class="flex flex-1 min-h-0 flex-col overflow-hidden"> -
+
+ class="flex min-h-0 flex-col w-full overflow-hidden bg-white dark:text-white dark:bg-coolgray-100 dark:border-coolgray-300" + :class="fullscreen ? 'h-full' : 'flex-1 border border-dotted rounded-sm'">
@@ -328,8 +328,7 @@ class="p-1 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-
+ class="flex min-h-40 flex-1 flex-col overflow-y-auto p-2 px-4 scrollbar">
@@ -363,4 +362,4 @@ class="shrink-0 text-gray-500">{{ $line['timestamp'] }}
-
\ No newline at end of file +
diff --git a/tests/Feature/DeploymentLogsLayoutTest.php b/tests/Feature/DeploymentLogsLayoutTest.php new file mode 100644 index 000000000..a905b8d15 --- /dev/null +++ b/tests/Feature/DeploymentLogsLayoutTest.php @@ -0,0 +1,79 @@ +user = User::factory()->create(); + $this->team = Team::factory()->create(); + $this->team->members()->attach($this->user->id, ['role' => 'owner']); + + InstanceSettings::unguarded(function () { + InstanceSettings::query()->create([ + 'id' => 0, + 'is_registration_enabled' => true, + ]); + }); + + $this->actingAs($this->user); + session(['currentTeam' => $this->team]); + + $this->server = Server::factory()->create(['team_id' => $this->team->id]); + $this->destination = StandaloneDocker::query()->where('server_id', $this->server->id)->firstOrFail(); + $this->project = Project::factory()->create(['team_id' => $this->team->id]); + $this->environment = Environment::factory()->create(['project_id' => $this->project->id]); + $this->application = Application::factory()->create([ + 'environment_id' => $this->environment->id, + 'destination_id' => $this->destination->id, + 'destination_type' => $this->destination->getMorphClass(), + 'status' => 'running', + ]); +}); + +it('renders deployment logs in a full-height layout', function () { + $deployment = ApplicationDeploymentQueue::create([ + 'application_id' => $this->application->id, + 'deployment_uuid' => 'deploy-layout-test', + 'server_id' => $this->server->id, + 'status' => ApplicationDeploymentStatus::FINISHED->value, + 'logs' => json_encode([ + [ + 'command' => null, + 'output' => 'rolling update started', + 'type' => 'stdout', + 'timestamp' => now()->toISOString(), + 'hidden' => false, + 'batch' => 1, + 'order' => 1, + ], + ], JSON_THROW_ON_ERROR), + ]); + + $response = $this->get(route('project.application.deployment.show', [ + 'project_uuid' => $this->project->uuid, + 'environment_uuid' => $this->environment->uuid, + 'application_uuid' => $this->application->uuid, + 'deployment_uuid' => $deployment->deployment_uuid, + ])); + + $response->assertSuccessful(); + $response->assertSee('rolling update started'); + $response->assertSee('flex h-[calc(100vh-10rem)] min-h-40 flex-col overflow-hidden', false); + $response->assertSee('flex flex-1 min-h-0 flex-col overflow-hidden', false); + $response->assertSee('mt-4 flex flex-1 min-h-0 flex-col overflow-hidden', false); + $response->assertSee('flex min-h-0 flex-col w-full overflow-hidden bg-white', false); + $response->assertSee('flex min-h-40 flex-1 flex-col overflow-y-auto p-2 px-4 scrollbar', false); + + expect($response->getContent())->not->toContain('max-h-[30rem]'); +});