active()->create(['name' => 'Source Tenant']); [$user, $sourceTenant] = createUserWithTenant(tenant: $sourceTenant, role: 'owner'); $targetWorkspaceTenant = Tenant::factory()->active()->create([ 'name' => 'Target Tenant', ]); createUserWithTenant(tenant: $targetWorkspaceTenant, user: $user, role: 'owner'); $targetWorkspace = $targetWorkspaceTenant->workspace()->firstOrFail(); $response = $this->actingAs($user) ->withSession([ WorkspaceContext::SESSION_KEY => (int) $sourceTenant->workspace_id, WorkspaceContext::INTENDED_URL_SESSION_KEY => "/admin/t/{$sourceTenant->external_id}", ]) ->post(route('admin.switch-workspace'), [ 'workspace_id' => (int) $targetWorkspace->getKey(), ]); $response->assertRedirect(TenantDashboard::getUrl(panel: 'tenant', tenant: $targetWorkspaceTenant)); expect(session(WorkspaceContext::SESSION_KEY))->toBe((int) $targetWorkspace->getKey()); });