mirror of
https://github.com/tiennm99/coolify.git
synced 2026-08-20 12:23:48 +00:00
Ensure a Sentinel endpoint from instance FQDN/IP when enabling, use process dialogs for validation with install state, and tidy server create, boarding, metrics empty state, and log timestamps.
39 lines
1.5 KiB
PHP
39 lines
1.5 KiB
PHP
<?php
|
|
|
|
it('keeps sentinel restarted events from re-syncing editable form fields', function () {
|
|
$componentSource = file_get_contents(app_path('Livewire/Server/Sentinel.php'));
|
|
|
|
preg_match('/public function handleSentinelRestarted\([^)]*\)\s*\{(?<body>.*?)\n \}/s', $componentSource, $matches);
|
|
|
|
expect($matches['body'] ?? '')
|
|
->toContain('$this->sentinelUpdatedAt = $this->server->sentinel_updated_at;')
|
|
->not->toContain('$this->syncData();');
|
|
});
|
|
|
|
it('dispatches a server navbar refresh after toggling sentinel', function () {
|
|
$componentSource = file_get_contents(app_path('Livewire/Server/Sentinel.php'));
|
|
|
|
preg_match('/public function toggleSentinel\([^)]*\).*?\{(?<body>.*?)
|
|
\}/s', $componentSource, $matches);
|
|
|
|
expect($matches['body'] ?? '')
|
|
->toContain("\$this->dispatch('refreshServerShow');");
|
|
});
|
|
|
|
it('only marks sentinel enabled after startup succeeds', function () {
|
|
$componentSource = file_get_contents(app_path('Livewire/Server/Sentinel.php'));
|
|
|
|
preg_match('/public function toggleSentinel\([^)]*\).*?\{(?<body>.*?)\n \}/s', $componentSource, $matches);
|
|
$toggleBody = $matches['body'] ?? '';
|
|
|
|
expect(strpos($toggleBody, 'StartSentinel::run'))->toBeLessThan(
|
|
strpos($toggleBody, '$this->isSentinelEnabled = true;')
|
|
);
|
|
});
|
|
|
|
it('does not repeat a disabled status badge in the sentinel empty state', function () {
|
|
$view = file_get_contents(resource_path('views/livewire/server/sentinel.blade.php'));
|
|
|
|
expect($view)->not->toContain("? 'Disabled'");
|
|
});
|