create(); $user = User::factory()->create(); $sets = collect(range(1, 3))->map(function (int $i) use ($tenant) { return BackupSet::create([ 'tenant_id' => $tenant->id, 'name' => 'Backup '.$i, 'status' => 'completed', 'item_count' => 1, ]); }); $sets->each(function (BackupSet $set) use ($tenant) { BackupItem::create([ 'tenant_id' => $tenant->id, 'backup_set_id' => $set->id, 'policy_id' => null, 'policy_identifier' => 'policy-'.$set->id, 'policy_type' => 'deviceConfiguration', 'platform' => 'windows10', 'payload' => ['id' => 'policy-'.$set->id], 'metadata' => null, ]); }); Livewire::actingAs($user) ->test(BackupSetResource\Pages\ListBackupSets::class) ->callTableBulkAction('bulk_delete', $sets) ->assertHasNoTableBulkActionErrors(); $sets->each(fn (BackupSet $set) => expect(BackupSet::withTrashed()->find($set->id)?->trashed())->toBeTrue()); $bulkRun = BulkOperationRun::query() ->where('resource', 'backup_set') ->where('action', 'delete') ->latest('id') ->first(); expect($bulkRun)->not->toBeNull(); expect($bulkRun->status)->toBe('completed'); }); test('backup sets table bulk archive requires type-to-confirm for 10+ sets', function () { $tenant = Tenant::factory()->create(); $user = User::factory()->create(); $sets = collect(range(1, 10))->map(function (int $i) use ($tenant) { return BackupSet::create([ 'tenant_id' => $tenant->id, 'name' => 'Backup '.$i, 'status' => 'completed', 'item_count' => 0, ]); }); Livewire::actingAs($user) ->test(BackupSetResource\Pages\ListBackupSets::class) ->callTableBulkAction('bulk_delete', $sets) ->assertHasTableBulkActionErrors(); Livewire::actingAs($user) ->test(BackupSetResource\Pages\ListBackupSets::class) ->callTableBulkAction('bulk_delete', $sets, data: [ 'confirmation' => 'DELETE', ]) ->assertHasNoTableBulkActionErrors(); });