Implement compliance exports and retention overrides
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-02 20:13:45 +01:00
parent 5fd546c428
commit eed7699549
45 changed files with 2319 additions and 40 deletions

View File

@@ -2,8 +2,10 @@
namespace Tests\Feature;
use App\Enums\RetentionOverrideScope;
use App\Jobs\AnonymizeAccount;
use App\Models\Package;
use App\Models\RetentionOverride;
use App\Models\Tenant;
use App\Models\TenantPackage;
use App\Models\User;
@@ -33,6 +35,27 @@ class TenantRetentionCommandTest extends TestCase
});
}
public function test_retention_override_skips_tenant_deletion(): void
{
Queue::fake();
$tenant = Tenant::factory()->create([
'last_activity_at' => now()->subMonths(25),
]);
$user = User::factory()->create(['tenant_id' => $tenant->id]);
$tenant->user()->associate($user)->save();
RetentionOverride::factory()->create([
'scope' => RetentionOverrideScope::TENANT,
'tenant_id' => $tenant->id,
'event_id' => null,
]);
$this->artisan('tenants:retention-scan')->assertExitCode(0);
Queue::assertNothingPushed();
}
public function test_warning_is_sent_one_month_before(): void
{
Queue::fake();