actingAs($user); Filament::setTenant($tenant, true); $policy = Policy::factory()->for($tenant)->create([ 'display_name' => 'Windows Lockdown', ]); $version = PolicyVersion::factory()->for($tenant)->create([ 'policy_id' => $policy->getKey(), 'version_number' => 3, ]); $resolved = app(PolicyVersionReferenceResolver::class)->resolve(new ReferenceDescriptor( referenceClass: ReferenceClass::PolicyVersion, rawIdentifier: (string) $version->getKey(), tenantId: (int) $tenant->getKey(), linkedModelId: (int) $version->getKey(), )); expect($resolved->state)->toBe(ReferenceResolutionState::Resolved) ->and($resolved->primaryLabel)->toBe('Windows Lockdown') ->and($resolved->secondaryLabel)->toContain('Version 3') ->and($resolved->linkTarget?->actionLabel)->toBe('View policy version'); }); it('marks workspace references as inaccessible when the actor lacks workspace access', function (): void { [$owner, $tenant] = createUserWithTenant(role: 'owner'); $profile = BaselineProfile::factory()->active()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'name' => 'Security Baseline', ]); $snapshot = BaselineSnapshot::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'baseline_profile_id' => (int) $profile->getKey(), ]); $outsider = \App\Models\User::factory()->create(); $this->actingAs($outsider); $resolved = app(BaselineSnapshotReferenceResolver::class)->resolve(new ReferenceDescriptor( referenceClass: ReferenceClass::BaselineSnapshot, rawIdentifier: (string) $snapshot->getKey(), workspaceId: (int) $tenant->workspace_id, linkedModelId: (int) $snapshot->getKey(), )); expect($resolved->state)->toBe(ReferenceResolutionState::Inaccessible) ->and($resolved->linkTarget)->toBeNull(); });