set('constants.coolify.version', '4.4.6'); $rootTeam = Team::find(0) ?? Team::factory()->create(['id' => 0]); Server::factory()->create(['id' => 0, 'team_id' => $rootTeam->id]); InstanceSettings::forceCreate(['id' => 0]); Once::flush(); $user = User::factory()->create(); $rootTeam->members()->attach($user->id, ['role' => 'admin']); $this->actingAs($user); session(['currentTeam' => ['id' => $rootTeam->id]]); }); it('reports a failed CDN request instead of "No new version available"', function () { Http::fake(['*' => Http::response('error code: 1200', 503)]); File::partialMock()->shouldReceive('put')->with(base_path('versions.json'), Mockery::any())->never(); Livewire::test(Updates::class) ->call('checkManually') ->assertDispatched('error', 'Could not check for updates. Try again later.') ->assertNotDispatched('success'); }); it('reports a new version when the CDN has a newer version', function () { Http::fake(['*' => Http::response(['coolify' => ['v4' => ['version' => '4.4.7']]])]); File::partialMock()->shouldReceive('put')->with(base_path('versions.json'), Mockery::any())->once(); Livewire::test(Updates::class) ->call('checkManually') ->assertDispatched('success', 'New version available!'); expect(InstanceSettings::get()->new_version_available)->toBeTruthy(); });