create(); $tenant->makeCurrent(); $policy = Policy::factory()->for($tenant)->create([ 'external_id' => 'policy-123', ]); $user = User::factory()->create(); $this->actingAs($user); $this->mock(PolicySnapshotService::class, function (MockInterface $mock) use ($policy) { $mock->shouldReceive('fetch') ->once() ->andReturn([ 'payload' => [ 'id' => $policy->external_id, 'name' => $policy->display_name, 'roleScopeTagIds' => ['0'], ], ]); }); $this->mock(AssignmentFetcher::class, function (MockInterface $mock) { $mock->shouldReceive('fetch')->never(); }); $this->mock(ScopeTagResolver::class, function (MockInterface $mock) { $mock->shouldReceive('resolve') ->once() ->andReturn([ ['id' => '0', 'displayName' => 'Default'], ]); }); Livewire::test(ViewPolicy::class, ['record' => $policy->getRouteKey()]) ->callAction('capture_snapshot', data: [ 'include_assignments' => false, 'include_scope_tags' => true, ]); $version = $policy->versions()->first(); expect($version)->not->toBeNull(); expect($version->assignments)->toBeNull(); expect($version->scope_tags)->toBe([ 'ids' => ['0'], 'names' => ['Default'], ]); });