'Status Aktif', self::INACTIVE => 'Status Tidak Aktif', }; } } describe('WithComment Trait', function () { it('can generate comment string from enum cases', function () { $comment = TestCommentEnum::comment(); expect($comment)->toBeString() ->and($comment)->toContain('active: Status Aktif') ->and($comment)->toContain('inactive: Status Tidak Aktif'); }); it('formats comment with comma separation', function () { $comment = TestCommentEnum::comment(); expect($comment)->toContain(', '); }); it('includes all enum cases in comment', function () { $comment = TestCommentEnum::comment(); $cases = TestCommentEnum::cases(); foreach ($cases as $case) { expect($comment)->toContain($case->value); expect($comment)->toContain($case->getLabel()); } }); });