actingAs($this->user); Livewire::test(InstalledVersions::class, ['server' => $this->server]) ->call('install', '8.1') ->assertSuccessful(); Bus::assertDispatched(InstallPHP::class); } public function test_uninstall_new_php(): void { Bus::fake(); $this->actingAs($this->user); Livewire::test(InstalledVersions::class, ['server' => $this->server]) ->set('uninstallId', $this->server->php('8.2')?->id) ->call('uninstall') ->assertSuccessful(); Bus::assertDispatched(UninstallPHP::class); } public function test_change_default_php_cli(): void { Bus::fake(); $this->actingAs($this->user); Service::factory()->create([ 'server_id' => $this->server->id, 'type' => 'php', 'type_data' => [ 'extensions' => [], ], 'name' => 'php', 'version' => '8.1', 'status' => ServiceStatus::READY, ]); Livewire::test(DefaultCli::class, ['server' => $this->server]) ->call('change', '8.1') ->assertSuccessful(); Bus::assertDispatched(SetDefaultCli::class); } public function test_install_extension(): void { Bus::fake(); $this->actingAs($this->user); Livewire::test(InstalledVersions::class, ['server' => $this->server]) ->set('extensionId', $this->server->php('8.2')?->id) ->set('extension', 'gmp') ->call('installExtension') ->assertSuccessful(); Bus::assertDispatched(InstallPHPExtension::class); } public function test_extension_already_installed(): void { Bus::fake(); $this->actingAs($this->user); $this->server->php('8.2')->update([ 'type_data' => [ 'extensions' => [ 'gmp', ], ], ]); Livewire::test(InstalledVersions::class, ['server' => $this->server]) ->set('extensionId', $this->server->php('8.2')?->id) ->set('extension', 'gmp') ->call('installExtension') ->assertSuccessful(); Bus::assertNotDispatched(InstallPHPExtension::class); } }