create(); $this->actingAs($user); $tenant = Tenant::factory()->create(['status' => 'active']); $otherTenant = Tenant::factory()->create(['status' => 'active']); foreach ([$tenant, $otherTenant] as $memberTenant) { TenantMembership::query()->create([ 'tenant_id' => $memberTenant->getKey(), 'user_id' => $user->getKey(), 'role' => 'owner', 'source' => 'manual', 'source_ref' => null, 'created_by_user_id' => null, ]); } Livewire::test(ChooseTenant::class) ->call('selectTenant', (int) $tenant->getKey()) ->assertRedirect(TenantDashboard::getUrl(tenant: $tenant)); $user->refresh(); if (Schema::hasColumn('users', 'last_tenant_id')) { expect($user->last_tenant_id)->toBe($tenant->getKey()); return; } if (Schema::hasTable('user_tenant_preferences')) { $preference = $user->tenantPreferences() ->where('tenant_id', $tenant->getKey()) ->first(); expect($preference)->not->toBeNull(); expect($preference?->last_used_at)->not->toBeNull(); } });