label)->toBe('Draft') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewStatus, 'ready')->color)->toBe('info') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewStatus, 'published')->color)->toBe('success') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewStatus, 'archived')->color)->toBe('gray') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewStatus, 'failed')->color)->toBe('danger'); }); it('maps tenant review completeness values to canonical badge semantics', function (): void { expect(BadgeCatalog::spec(BadgeDomain::TenantReviewCompleteness, 'complete')->label)->toBe('Complete') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewCompleteness, 'partial')->color)->toBe('warning') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewCompleteness, 'missing')->color)->toBe('danger') ->and(BadgeCatalog::spec(BadgeDomain::TenantReviewCompleteness, 'stale')->label)->toBe('Stale'); });