Fix ScanForNewRelease event triggering whereas checkForUpdate is disabled - Fixes #462

This commit is contained in:
Bubka 2025-03-25 13:02:53 +01:00
parent fc7ca1448c
commit f6a595807d
2 changed files with 17 additions and 3 deletions

View File

@ -5,7 +5,6 @@
use App\Events\ScanForNewReleaseCalled;
use App\Facades\Settings;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Vite;
class SinglePageController extends Controller
@ -17,12 +16,15 @@ class SinglePageController extends Controller
*/
public function index()
{
event(new ScanForNewReleaseCalled);
$appSettings = Settings::all();
if ($appSettings['checkForUpdate'] == true) {
event(new ScanForNewReleaseCalled);
}
// We only share necessary and acceptable values with the HTML front-end.
// But all the properties have to be pushed to init the appSetting store state correctly,
// so we set them to null, they will be fed later by the front-end
$appSettings = Settings::all();
$publicSettings = $appSettings->only([
'disableRegistration',
'enableSso',

View File

@ -3,6 +3,7 @@
namespace Tests\Feature;
use App\Events\ScanForNewReleaseCalled;
use App\Facades\Settings;
use App\Http\Controllers\SinglePageController;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Http;
@ -60,4 +61,15 @@ public function test_calling_index_fires_ScanForNewReleaseCalled_event()
Event::assertDispatched(ScanForNewReleaseCalled::class);
}
#[Test]
public function test_calling_index_does_not_fire_ScanForNewReleaseCalled_event()
{
Event::fake();
Settings::set('checkForUpdate', false);
$this->get('/');
Event::assertNotDispatched(ScanForNewReleaseCalled::class);
}
}