Skip to content

Commit b8c9913

Browse files
authored
Merge pull request #7 from henzeb/issue-6
fixes #6
2 parents cbf1230 + adff7ec commit b8c9913

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed

src/Helpers/EnumState.php

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ private static function getTransitions(UnitEnum $currentTransition): array
5050
);
5151

5252
$transitions = $transitions[$currentTransition->name]
53+
?? $transitions[strtolower($currentTransition->name)]
5354
?? $transitions[EnumValue::value($currentTransition)]
5455
?? [];
5556

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace Henzeb\Enumhancer\Tests\Fixtures\BackedEnums\State;
4+
5+
use Henzeb\Enumhancer\Concerns\State;
6+
7+
enum PostStatus: string
8+
{
9+
use State;
10+
11+
case DRAFT = 'DRAFT';
12+
case READY = 'READY';
13+
case PUBLISHED = 'PUBLISHED';
14+
case ARCHIVED = 'ARCHIVED';
15+
}

tests/Unit/Concerns/StateTest.php

+6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Henzeb\Enumhancer\Contracts\TransitionHook;
66
use Henzeb\Enumhancer\Exceptions\IllegalEnumTransitionException;
7+
use Henzeb\Enumhancer\Tests\Fixtures\BackedEnums\State\PostStatus;
78
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorComplexEnum;
89
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorDisableTransitionEnum;
910
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorEnum;
@@ -313,4 +314,9 @@ public function testMagicCallsWithHooks(): void
313314

314315
StateElevatorEnum::Open->toMove();
315316
}
317+
318+
public function testStatesWithBackedEnum(): void
319+
{
320+
$this->assertEquals(PostStatus::DRAFT->to(PostStatus::READY), PostStatus::READY);
321+
}
316322
}

tests/Unit/Laravel/Concerns/CastsStatefulEnumerationsTest.php

-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ public function testShouldJustCastWhenEnumIsNotStatefulValue()
138138

139139
public function testShouldAllowTransition()
140140
{
141-
$this->expectException(IllegalEnumTransitionException::class);
142141
$model = new CastsStatefulEnumsModel();
143142

144143
$model->stringBackedEnum = StringBackedGetEnum::TEST;

0 commit comments

Comments
 (0)