fix(application): only show server warning for false status
Treat unknown server status separately from false so the unreachable badge is not shown until a server is confirmed unreachable. Add feature coverage for the badge rendering.
This commit is contained in:
parent
eb7da5c082
commit
37a99e5f94
2 changed files with 43 additions and 1 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
<span>
|
<span>
|
||||||
@if ($application->server_status == false)
|
@if ($application->server_status === false)
|
||||||
<span title="One or more servers are unreachable or misconfigured.">
|
<span title="One or more servers are unreachable or misconfigured.">
|
||||||
<svg class="w-4 h-4 text-error" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg">
|
<svg class="w-4 h-4 text-error" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path fill="currentColor"
|
<path fill="currentColor"
|
||||||
|
|
|
||||||
42
tests/Feature/ApplicationServerStatusBadgeTest.php
Normal file
42
tests/Feature/ApplicationServerStatusBadgeTest.php
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function renderApplicationServerStatusBadge(?bool $serverStatus, string $status = 'running', bool $hasAdditionalServers = false): string
|
||||||
|
{
|
||||||
|
$application = new class($serverStatus, $status, $hasAdditionalServers)
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
public ?bool $server_status,
|
||||||
|
public string $status,
|
||||||
|
private bool $hasAdditionalServers,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
public function additional_servers(): object
|
||||||
|
{
|
||||||
|
return new class($this->hasAdditionalServers)
|
||||||
|
{
|
||||||
|
public function __construct(private bool $exists) {}
|
||||||
|
|
||||||
|
public function exists(): bool
|
||||||
|
{
|
||||||
|
return $this->exists;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return view('livewire.project.application.server-status-badge', [
|
||||||
|
'application' => $application,
|
||||||
|
])->render();
|
||||||
|
}
|
||||||
|
|
||||||
|
it('does not show the unreachable server badge when server status is unknown', function () {
|
||||||
|
$html = renderApplicationServerStatusBadge(null);
|
||||||
|
|
||||||
|
expect($html)->not->toContain('One or more servers are unreachable or misconfigured.');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('shows the unreachable server badge only when server status is false', function () {
|
||||||
|
$html = renderApplicationServerStatusBadge(false);
|
||||||
|
|
||||||
|
expect($html)->toContain('One or more servers are unreachable or misconfigured.');
|
||||||
|
});
|
||||||
Loading…
Reference in a new issue