simedkom/tests/Unit/Enums/NewsStatusTest.php
2026-03-17 21:57:24 +07:00

30 lines
866 B
PHP

<?php
use App\Enums\NewsStatus;
test('news status enum has expected cases', function () {
expect(NewsStatus::cases())->toHaveCount(3);
});
test('news status enum labels and colors', function (NewsStatus $status, string $label, string $color) {
expect($status->getLabel())->toBe($label);
expect($status->getColor())->toBe($color);
})->with([
[NewsStatus::DRAFT, 'Draft', 'warning'],
[NewsStatus::PUBLISHED, 'Publish', 'success'],
[NewsStatus::ARCHIVED, 'Arsip', 'gray'],
]);
test('news status enum options', function () {
expect(NewsStatus::options())->toEqual([
1 => 'Draft',
2 => 'Publish',
3 => 'Arsip',
]);
});
test('news status enum values and comment', function () {
expect(NewsStatus::values())->toEqual([1, 2, 3]);
expect(NewsStatus::comment())->toBe('1: Draft, 2: Publish, 3: Arsip');
});