label)->toBe('Queued'); expect($queued->color)->toBe('gray'); $deferred = BadgeCatalog::spec(BadgeDomain::AlertDeliveryStatus, 'deferred'); expect($deferred->label)->toBe('Deferred'); expect($deferred->color)->toBe('warning'); $sent = BadgeCatalog::spec(BadgeDomain::AlertDeliveryStatus, 'sent'); expect($sent->label)->toBe('Sent'); expect($sent->color)->toBe('success'); $failed = BadgeCatalog::spec(BadgeDomain::AlertDeliveryStatus, 'failed'); expect($failed->label)->toBe('Failed'); expect($failed->color)->toBe('danger'); $suppressed = BadgeCatalog::spec(BadgeDomain::AlertDeliveryStatus, 'suppressed'); expect($suppressed->label)->toBe('Suppressed'); expect($suppressed->color)->toBe('info'); $canceled = BadgeCatalog::spec(BadgeDomain::AlertDeliveryStatus, 'canceled'); expect($canceled->label)->toBe('Canceled'); expect($canceled->color)->toBe('gray'); }); it('returns unknown badge for invalid alert delivery status', function (): void { $unknown = BadgeCatalog::spec(BadgeDomain::AlertDeliveryStatus, 'invalid_status'); expect($unknown->label)->toBe('Unknown'); expect($unknown->color)->toBe('gray'); }); it('maps alert destination last test status values to canonical badge semantics', function (): void { $never = BadgeCatalog::spec(BadgeDomain::AlertDestinationLastTestStatus, 'never'); expect($never->label)->toBe('Never'); expect($never->color)->toBe('gray'); $sent = BadgeCatalog::spec(BadgeDomain::AlertDestinationLastTestStatus, 'sent'); expect($sent->label)->toBe('Sent'); expect($sent->color)->toBe('success'); $failed = BadgeCatalog::spec(BadgeDomain::AlertDestinationLastTestStatus, 'failed'); expect($failed->label)->toBe('Failed'); expect($failed->color)->toBe('danger'); $pending = BadgeCatalog::spec(BadgeDomain::AlertDestinationLastTestStatus, 'pending'); expect($pending->label)->toBe('Pending'); expect($pending->color)->toBe('warning'); }); it('returns unknown badge for invalid last test status', function (): void { $unknown = BadgeCatalog::spec(BadgeDomain::AlertDestinationLastTestStatus, 'nonexistent'); expect($unknown->label)->toBe('Unknown'); expect($unknown->color)->toBe('gray'); });