create(); $user = User::factory()->create(); $user->tenants()->syncWithoutDetaching([ $tenant->getKey() => ['role' => 'owner'], ]); Filament::setTenant($tenant, true); $backupSet = BackupSet::create([ 'tenant_id' => $tenant->id, 'name' => 'Backup', 'status' => 'completed', 'item_count' => 0, ]); $completedRuns = collect(range(1, 3))->map(function () use ($tenant, $backupSet) { return RestoreRun::create([ 'tenant_id' => $tenant->id, 'backup_set_id' => $backupSet->id, 'status' => 'completed', 'is_dry_run' => true, 'requested_by' => 'tester@example.com', ]); }); $running = RestoreRun::create([ 'tenant_id' => $tenant->id, 'backup_set_id' => $backupSet->id, 'status' => 'running', 'is_dry_run' => true, 'requested_by' => 'tester@example.com', ]); $records = $completedRuns->concat([$running]); Livewire::actingAs($user) ->test(RestoreRunResource\Pages\ListRestoreRuns::class) ->callTableBulkAction('bulk_delete', $records) ->assertHasNoTableBulkActionErrors(); $completedRuns->each(fn (RestoreRun $run) => expect(RestoreRun::withTrashed()->find($run->id)?->trashed())->toBeTrue()); expect(RestoreRun::withTrashed()->find($running->id)?->trashed())->toBeFalse(); $opRun = OperationRun::query() ->where('tenant_id', $tenant->id) ->where('user_id', $user->id) ->where('type', 'restore_run.delete') ->latest('id') ->first(); expect($opRun)->not->toBeNull(); $counts = is_array($opRun->summary_counts) ? $opRun->summary_counts : []; expect((int) ($counts['skipped'] ?? 0))->toBeGreaterThanOrEqual(1); });