$name, 'ip' => '10.0.0.'.rand(2, 250), 'ssh_port' => 22, 'status' => 'online']); } public function test_activate_endpoint_sets_active_server(): void { $this->actingAs(User::factory()->create()); $b = $this->server('B'); $this->post(route('servers.activate', $b))->assertNoContent(); $this->assertSame($b->id, session('active_server_id')); } public function test_viewing_server_details_sets_it_active(): void { $this->actingAs(User::factory()->create()); $b = $this->server('B'); Livewire::test(Show::class, ['server' => $b]); $this->assertSame($b->id, session('active_server_id')); } public function test_switching_on_a_details_page_targets_the_new_server(): void { $a = $this->server('A'); $b = $this->server('B'); $switcher = new ServerSwitcher; // On A's details page, selecting B targets B's details (not a reload of A). $this->assertSame(route('servers.show', $b), $switcher->targetFor($b, '/servers/'.$a->uuid)); } public function test_switching_elsewhere_keeps_the_current_page(): void { $b = $this->server('B'); $switcher = new ServerSwitcher; // Off a server-details page, the current page is reloaded as-is. $this->assertSame('/files', $switcher->targetFor($b, '/files')); $this->assertSame('/servers', $switcher->targetFor($b, '/servers')); // fleet list, not a details page } }