create(); $tenant->makeCurrent(); $user = User::factory()->create(); $backupSet = BackupSet::factory()->create([ 'tenant_id' => $tenant->id, 'name' => 'Test backup', 'item_count' => 0, ]); $policyA = Policy::factory()->create([ 'tenant_id' => $tenant->id, 'ignored_at' => null, 'last_synced_at' => now(), ]); $policyB = Policy::factory()->create([ 'tenant_id' => $tenant->id, 'ignored_at' => null, 'last_synced_at' => now(), ]); $itemA = BackupItem::factory()->create([ 'tenant_id' => $tenant->id, 'backup_set_id' => $backupSet->id, 'policy_id' => $policyA->id, 'policy_identifier' => $policyA->external_id, 'policy_type' => $policyA->policy_type, 'platform' => $policyA->platform, ]); $itemB = BackupItem::factory()->create([ 'tenant_id' => $tenant->id, 'backup_set_id' => $backupSet->id, 'policy_id' => $policyB->id, 'policy_identifier' => $policyB->external_id, 'policy_type' => $policyB->policy_type, 'platform' => $policyB->platform, ]); $backupSet->update(['item_count' => $backupSet->items()->count()]); expect($backupSet->refresh()->item_count)->toBe(2); Livewire::actingAs($user) ->test(BackupItemsRelationManager::class, [ 'ownerRecord' => $backupSet, 'pageClass' => \App\Filament\Resources\BackupSetResource\Pages\ViewBackupSet::class, ]) ->callTableBulkAction('bulk_remove', collect([$itemA, $itemB])) ->assertHasNoTableBulkActionErrors(); $backupSet->refresh(); expect($backupSet->items()->count())->toBe(0); expect($backupSet->item_count)->toBe(0); $this->assertSoftDeleted('backup_items', ['id' => $itemA->id]); $this->assertSoftDeleted('backup_items', ['id' => $itemB->id]); });