label)->toBe('Active'); expect($active->color)->toBe('success'); $archived = BadgeCatalog::spec(BadgeDomain::TenantStatus, 'archived'); expect($archived->label)->toBe('Archived'); expect($archived->color)->toBe('gray'); $suspended = BadgeCatalog::spec(BadgeDomain::TenantStatus, 'suspended'); expect($suspended->label)->toBe('Suspended'); expect($suspended->color)->toBe('warning'); $error = BadgeCatalog::spec(BadgeDomain::TenantStatus, 'error'); expect($error->label)->toBe('Error'); expect($error->color)->toBe('danger'); }); it('maps tenant app status values to canonical badge semantics', function (): void { $ok = BadgeCatalog::spec(BadgeDomain::TenantAppStatus, 'ok'); expect($ok->label)->toBe('OK'); expect($ok->color)->toBe('success'); $consentRequired = BadgeCatalog::spec(BadgeDomain::TenantAppStatus, 'consent_required'); expect($consentRequired->label)->toBe('Consent required'); expect($consentRequired->color)->toBe('warning'); $error = BadgeCatalog::spec(BadgeDomain::TenantAppStatus, 'error'); expect($error->label)->toBe('Error'); expect($error->color)->toBe('danger'); }); it('maps tenant RBAC status values to canonical badge semantics', function (): void { $configured = BadgeCatalog::spec(BadgeDomain::TenantRbacStatus, 'configured'); expect($configured->label)->toBe('Configured'); expect($configured->color)->toBe('success'); $manual = BadgeCatalog::spec(BadgeDomain::TenantRbacStatus, 'manual_assignment_required'); expect($manual->label)->toBe('Manual assignment required'); expect($manual->color)->toBe('warning'); $notConfigured = BadgeCatalog::spec(BadgeDomain::TenantRbacStatus, 'not_configured'); expect($notConfigured->label)->toBe('Not configured'); expect($notConfigured->color)->toBe('gray'); }); it('maps tenant permission status values to canonical badge semantics', function (): void { $granted = BadgeCatalog::spec(BadgeDomain::TenantPermissionStatus, 'granted'); expect($granted->label)->toBe('Granted'); expect($granted->color)->toBe('success'); $missing = BadgeCatalog::spec(BadgeDomain::TenantPermissionStatus, 'missing'); expect($missing->label)->toBe('Missing'); expect($missing->color)->toBe('warning'); $error = BadgeCatalog::spec(BadgeDomain::TenantPermissionStatus, 'error'); expect($error->label)->toBe('Error'); expect($error->color)->toBe('danger'); });