toBe($expected); })->with([ 'draft' => ['draft', TenantLifecycle::Draft], 'onboarding' => ['onboarding', TenantLifecycle::Onboarding], 'active' => ['active', TenantLifecycle::Active], 'archived' => ['archived', TenantLifecycle::Archived], 'pending alias' => ['pending', TenantLifecycle::Onboarding], ]); it('derives archived lifecycle from soft-deleted tenants', function (): void { $tenant = Tenant::factory()->archived()->create(); expect(TenantLifecycle::fromTenant($tenant))->toBe(TenantLifecycle::Archived); });