set('tenantpilot.baselines.full_content_capture.retention_days', 30); $tenant = Tenant::factory()->create(); $policy = Policy::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), ]); $profile = BaselineProfile::factory()->active()->create([ 'workspace_id' => (int) $tenant->workspace_id, ]); $oldBaselineCompare = PolicyVersion::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'policy_id' => (int) $policy->getKey(), 'version_number' => 1, 'capture_purpose' => PolicyVersionCapturePurpose::BaselineCompare->value, 'baseline_profile_id' => (int) $profile->getKey(), 'captured_at' => now()->subDays(45), ]); $oldBaselineCapture = PolicyVersion::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'policy_id' => (int) $policy->getKey(), 'version_number' => 2, 'capture_purpose' => PolicyVersionCapturePurpose::BaselineCapture->value, 'baseline_profile_id' => (int) $profile->getKey(), 'captured_at' => now()->subDays(45), ]); $recentBaselineCompare = PolicyVersion::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'policy_id' => (int) $policy->getKey(), 'version_number' => 3, 'capture_purpose' => PolicyVersionCapturePurpose::BaselineCompare->value, 'baseline_profile_id' => (int) $profile->getKey(), 'captured_at' => now()->subDays(10), ]); $oldBackup = PolicyVersion::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'policy_id' => (int) $policy->getKey(), 'version_number' => 4, 'capture_purpose' => PolicyVersionCapturePurpose::Backup->value, 'captured_at' => now()->subDays(45), ]); $this->artisan('tenantpilot:baseline-evidence:prune')->assertExitCode(0); expect($oldBaselineCompare->refresh()->trashed())->toBeTrue(); expect($oldBaselineCapture->refresh()->trashed())->toBeTrue(); expect($recentBaselineCompare->refresh()->trashed())->toBeFalse(); expect($oldBackup->refresh()->trashed())->toBeFalse(); });