Status-Badge-Farblogik (ok/warn/err/muted) aus 7 divergenten match-Bloecken in eine Enum-Methode gezogen. Archiviert/Entwurf jetzt konsistent 'muted' (grau) auch auf Detail-/Edit-/Log-Seiten (vorher dort 'hub'-Akzent). Toter statusColor-Block (Flux-Farben, nie referenziert) in customer/show entfernt. flux:badge :color in admin/users bleibt bewusst separat (eigenes Farbvokabular, Einzel-Call-Site). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
20 lines
727 B
PHP
20 lines
727 B
PHP
<?php
|
|
|
|
use App\Enums\PressReleaseStatus;
|
|
|
|
test('active statuses map to their accent badge class', function () {
|
|
expect(PressReleaseStatus::Published->badgeClass())->toBe('ok')
|
|
->and(PressReleaseStatus::Review->badgeClass())->toBe('warn')
|
|
->and(PressReleaseStatus::Rejected->badgeClass())->toBe('err');
|
|
});
|
|
|
|
test('neutral statuses are muted', function () {
|
|
expect(PressReleaseStatus::Draft->badgeClass())->toBe('muted')
|
|
->and(PressReleaseStatus::Archived->badgeClass())->toBe('muted');
|
|
});
|
|
|
|
test('every status resolves to a badge class', function () {
|
|
foreach (PressReleaseStatus::cases() as $status) {
|
|
expect($status->badgeClass())->toBeIn(['ok', 'warn', 'err', 'muted']);
|
|
}
|
|
});
|