mirror of
https://github.com/coollabsio/coolify.git
synced 2026-11-04 10:42:23 +00:00
Closes #11892 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
1.1 KiB
PHP
29 lines
1.1 KiB
PHP
<?php
|
|
|
|
use App\Models\Application;
|
|
|
|
function applicationWithAdditionalServerStatuses(string $mainStatus, array $additionalStatuses): Application
|
|
{
|
|
$application = new Application;
|
|
$application->setRawAttributes(['status' => $mainStatus]);
|
|
$application->setRelation('additional_servers', collect($additionalStatuses)
|
|
->map(fn (string $status) => (object) ['pivot' => (object) ['status' => $status]]));
|
|
|
|
return $application;
|
|
}
|
|
|
|
it('stays healthy when an additional server status has no health segment', function () {
|
|
expect(applicationWithAdditionalServerStatuses('running:healthy', ['running'])->status)
|
|
->toBe('running:healthy');
|
|
});
|
|
|
|
it('reports unhealthy when an additional server has an explicit unhealthy status', function () {
|
|
expect(applicationWithAdditionalServerStatuses('running:healthy', ['running:unhealthy'])->status)
|
|
->toBe('running:unhealthy');
|
|
});
|
|
|
|
it('reports degraded when an additional server status without health differs', function () {
|
|
expect(applicationWithAdditionalServerStatuses('running:healthy', ['exited'])->status)
|
|
->toBe('degraded:healthy');
|
|
});
|