create(['is_current' => true]); $user = User::factory()->create(); $user->tenants()->syncWithoutDetaching([ $tenant->getKey() => ['role' => 'owner'], ]); Filament::setTenant($tenant, true); $policy = Policy::factory()->create(['tenant_id' => $tenant->id]); $version = PolicyVersion::factory()->create([ 'tenant_id' => $tenant->id, 'policy_id' => $policy->id, 'version_number' => 1, 'captured_at' => now()->subDays(120), ]); $version->delete(); Livewire::actingAs($user) ->test(PolicyVersionResource\Pages\ListPolicyVersions::class) ->filterTable(\Filament\Tables\Filters\TrashedFilter::class, false) ->callTableBulkAction('bulk_restore_versions', collect([$version])) ->assertHasNoTableBulkActionErrors(); $run = OperationRun::query() ->where('tenant_id', $tenant->id) ->where('user_id', $user->id) ->where('type', 'policy_version.restore') ->latest('id') ->first(); expect($run)->not->toBeNull(); $counts = is_array($run->summary_counts) ? $run->summary_counts : []; expect((int) ($counts['succeeded'] ?? 0))->toBe(1) ->and((int) ($counts['skipped'] ?? 0))->toBe(0) ->and((int) ($counts['failed'] ?? 0))->toBe(0); $version->refresh(); expect($version->trashed())->toBeFalse(); });