Skip to content

Commit cbf1230

Browse files
committed
Laravel 11
1 parent c067903 commit cbf1230

21 files changed

+107
-127
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
.php_cs
33
.php_cs.cache
44
.phpunit.result.cache
5+
.phpunit.cache/
6+
phpunit.xml.bak
57
build
68
coverage
79
coverage.xml

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@
7575
"infection/infection": "^0.27.0",
7676
"mockery/mockery": "^1.5",
7777
"nunomaduro/larastan": "^2.3",
78-
"orchestra/testbench": "^v7.18|^8.0",
78+
"orchestra/testbench": "^v7.18|^8.0|^9",
7979
"phpstan/phpstan": "^1.9",
80-
"phpunit/phpunit": "^9.5.27"
80+
"phpunit/phpunit": "^9.5.27|^10"
8181
},
8282
"autoload": {
8383
"files": [

phpunit.xml

+22-26
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
4-
bootstrap="vendor/autoload.php"
5-
colors="true"
6-
>
7-
<testsuites>
8-
<testsuite name="Unit">
9-
<directory suffix="Test.php">./tests/Unit</directory>
10-
</testsuite>
11-
</testsuites>
12-
<coverage processUncoveredFiles="true">
13-
<include>
14-
<directory suffix=".php">./src</directory>
15-
</include>
16-
</coverage>
17-
<php>
18-
<server name="APP_ENV" value="testing"/>
19-
<server name="BCRYPT_ROUNDS" value="4"/>
20-
<server name="CACHE_DRIVER" value="array"/>
21-
<!-- <server name="DB_CONNECTION" value="sqlite"/> -->
22-
<!-- <server name="DB_DATABASE" value=":memory:"/> -->
23-
<server name="MAIL_MAILER" value="array"/>
24-
<server name="QUEUE_CONNECTION" value="sync"/>
25-
<server name="SESSION_DRIVER" value="array"/>
26-
<server name="TELESCOPE_ENABLED" value="false"/>
27-
</php>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true" cacheDirectory=".phpunit.cache">
3+
<testsuites>
4+
<testsuite name="Unit">
5+
<directory suffix="Test.php">./tests/Unit</directory>
6+
</testsuite>
7+
</testsuites>
8+
<php>
9+
<server name="APP_ENV" value="testing"/>
10+
<server name="BCRYPT_ROUNDS" value="4"/>
11+
<server name="CACHE_DRIVER" value="array"/>
12+
<!-- <server name="DB_CONNECTION" value="sqlite"/> -->
13+
<!-- <server name="DB_DATABASE" value=":memory:"/> -->
14+
<server name="MAIL_MAILER" value="array"/>
15+
<server name="QUEUE_CONNECTION" value="sync"/>
16+
<server name="SESSION_DRIVER" value="array"/>
17+
<server name="TELESCOPE_ENABLED" value="false"/>
18+
</php>
19+
<source>
20+
<include>
21+
<directory suffix=".php">./src</directory>
22+
</include>
23+
</source>
2824
</phpunit>

src/Laravel/Concerns/CastsBasicEnumerations.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ private function shouldUseBasicEnumWorkaround(string $enumClass): bool
6767
&& 'toArray' === (debug_backtrace(2)[5]['function'] ?? null);
6868
}
6969

70-
protected function getStorableEnumValue($value)
70+
protected function getStorableEnumValue($expectedEnumValue, $value = null)
7171
{
72+
$value ??= $expectedEnumValue;
7273
if ($value instanceof UnitEnum) {
7374
$keepEnumCase = property_exists($this, 'keepEnumCase') ? $this->keepEnumCase : true;
7475

tests/Unit/Concerns/DefaultsTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
class DefaultsTest extends TestCase
2424
{
25-
public function providesCases(): array
25+
public static function providesCases(): array
2626
{
2727
return [
2828
[DefaultsEnum::class, DefaultsEnum::Default],
@@ -45,7 +45,7 @@ public function providesCases(): array
4545
];
4646
}
4747

48-
public function providesAssertionTestcases(): array
48+
public static function providesAssertionTestcases(): array
4949
{
5050
return [
5151
[DefaultsEnum::Default, true],

tests/Unit/Concerns/DropdownTest.php

+1-6
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
class DropdownTest extends TestCase
1515
{
16-
public static function dropdownTestcases(): array
16+
public static function providesDropdownTestcases(): array
1717
{
1818
return [
1919
[
@@ -58,11 +58,6 @@ public static function dropdownTestcases(): array
5858
];
5959
}
6060

61-
public function providesDropdownTestcases(): array
62-
{
63-
return self::dropdownTestcases();
64-
}
65-
6661
/**
6762
* @param string $enum
6863
* @param array $expected

tests/Unit/Concerns/MappersTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\Mappers\ConstantMapperClassFlippedEnum;
1212
use PHPUnit\Framework\TestCase;
1313
use RuntimeException;
14+
use stdClass;
1415
use ValueError;
1516

1617

@@ -62,7 +63,7 @@ public function testGetShouldMapWithStringMap()
6263
public function testGetShouldThrowExceptionForNonMap()
6364
{
6465
$this->expectException(RuntimeException::class);
65-
EnhancedBackedEnum::get('mappedEnum', self::class);
66+
EnhancedBackedEnum::get('mappedEnum', stdClass::class);
6667
}
6768

6869
public function testGetShouldNotMapWhenNull()

tests/Unit/Concerns/ReportersTest.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@
1111
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedBackedEnum;
1212
use Henzeb\Enumhancer\Tests\Fixtures\NotReportingEnum;
1313
use Henzeb\Enumhancer\Tests\Fixtures\ReporterTestEnum;
14-
1514
use Mockery;
1615
use PHPUnit\Framework\TestCase;
1716

1817
class ReportersTest extends TestCase
1918
{
20-
public function providesEnumsToTestWith(): array
19+
public static function providesEnumsToTestWith(): array
2120
{
2221
return [
2322
'just-reporters' => [ReporterTestEnum::class],

tests/Unit/Concerns/StateTest.php

+10-10
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
22

33
namespace Henzeb\Enumhancer\Tests\Unit\Concerns;
44

5-
use Mockery;
6-
use UnitEnum;
7-
use Mockery\Mock;
8-
use PHPUnit\Framework\TestCase;
9-
use Mockery\Adapter\Phpunit\MockeryTestCase;
105
use Henzeb\Enumhancer\Contracts\TransitionHook;
116
use Henzeb\Enumhancer\Exceptions\IllegalEnumTransitionException;
12-
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorEnum;
137
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorComplexEnum;
148
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorDisableTransitionEnum;
9+
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\State\StateElevatorEnum;
10+
use Mockery;
11+
use Mockery\Adapter\Phpunit\MockeryTestCase;
12+
use Mockery\Mock;
13+
use UnitEnum;
1514

1615
class StateTest extends MockeryTestCase
1716
{
@@ -53,7 +52,7 @@ public function testComplexTransition(): void
5352
);
5453
}
5554

56-
public function providesNotAllowedTransitionTestcases(): array
55+
public static function providesNotAllowedTransitionTestcases(): array
5756
{
5857
return [
5958
'basic-open-move' => [StateElevatorEnum::Open, 'Move'],
@@ -133,12 +132,13 @@ public function testCloseToMoveStillWorksWhenCustomTransitions(): void
133132
$this->assertTrue(StateElevatorDisableTransitionEnum::Close->isTransitionAllowed('move'));
134133
}
135134

136-
public function testTransitionsShouldBeFullyPropagatedWhenUsingCustomTransitions() {
135+
public function testTransitionsShouldBeFullyPropagatedWhenUsingCustomTransitions()
136+
{
137137

138138
$this->assertEquals(
139139
[
140-
'Open'=> null,
141-
'Close'=> StateElevatorDisableTransitionEnum::Move,
140+
'Open' => null,
141+
'Close' => StateElevatorDisableTransitionEnum::Move,
142142
'Move' => StateElevatorDisableTransitionEnum::Stop,
143143
],
144144
StateElevatorDisableTransitionEnum::transitions()

tests/Unit/Concerns/ValueTest.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
namespace Henzeb\Enumhancer\Tests\Unit\Concerns;
44

5+
use Henzeb\Enumhancer\Tests\Fixtures\BackedEnums\Value\ValueIntBackedEnum;
6+
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedBackedEnum;
7+
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedUnitEnum;
58
use Henzeb\Enumhancer\Tests\Fixtures\UnitEnums\Value\ValueStrictEnum;
69
use PHPUnit\Framework\TestCase;
7-
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedUnitEnum;
8-
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedBackedEnum;
9-
use Henzeb\Enumhancer\Tests\Fixtures\BackedEnums\Value\ValueIntBackedEnum;
1010

1111

1212
class ValueTest extends TestCase
1313
{
14-
public function providesEnumsForValue()
14+
public static function providesEnumsForValue(): array
1515
{
1616
return [
1717
'backed-1' => [EnhancedBackedEnum::ENUM, EnhancedBackedEnum::ENUM->value],
@@ -22,7 +22,7 @@ public function providesEnumsForValue()
2222
];
2323
}
2424

25-
public function providesEnumsForKey()
25+
public static function providesEnumsForKey(): array
2626
{
2727
return [
2828
'string-backed-1' => [EnhancedBackedEnum::ENUM, 0],
@@ -52,7 +52,7 @@ public function testEnumShouldReturnValue($enum, string $expected): void
5252

5353
/**
5454
* @param $enum
55-
* @param string $expected
55+
* @param int $expected
5656
* @return void
5757
*
5858
* @dataProvider providesEnumsForKey

tests/Unit/Functions/FunctionsTest.php

+17-13
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@
22

33
namespace Henzeb\Enumhancer\Tests\Unit\Functions;
44

5-
use UnitEnum;
6-
use PHPUnit\Framework\TestCase;
75
use Henzeb\Enumhancer\Helpers\EnumProxy;
86
use Henzeb\Enumhancer\Helpers\EnumValue;
9-
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedUnitEnum;
107
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedBackedEnum;
8+
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedUnitEnum;
9+
use PHPUnit\Framework\TestCase;
10+
use UnitEnum;
1111
use function Henzeb\Enumhancer\Functions\b;
12-
use function Henzeb\Enumhancer\Functions\n;
13-
use function Henzeb\Enumhancer\Functions\v;
12+
use function Henzeb\Enumhancer\Functions\backing;
13+
use function Henzeb\Enumhancer\Functions\backingLowercase;
1414
use function Henzeb\Enumhancer\Functions\bl;
15-
use function Henzeb\Enumhancer\Functions\vl;
15+
use function Henzeb\Enumhancer\Functions\n;
1616
use function Henzeb\Enumhancer\Functions\name;
17-
use function Henzeb\Enumhancer\Functions\valueLowercase;
18-
use function Henzeb\Enumhancer\Functions\backingLowercase;
19-
use function Henzeb\Enumhancer\Functions\backing;
17+
use function Henzeb\Enumhancer\Functions\v;
2018
use function Henzeb\Enumhancer\Functions\value as EnumValue;
19+
use function Henzeb\Enumhancer\Functions\valueLowercase;
20+
use function Henzeb\Enumhancer\Functions\vl;
2121

2222

2323
class FunctionsTest extends TestCase
2424
{
25-
function providesBackedFunctionTestcases(): array
25+
public static function providesBackedFunctionTestcases(): array
2626
{
2727
return [
2828
'b-unit' => ['Henzeb\Enumhancer\Functions\b', EnhancedUnitEnum::THIRD_ENUM],
@@ -31,7 +31,11 @@ function providesBackedFunctionTestcases(): array
3131
'backing-backed' => ['Henzeb\Enumhancer\Functions\backing', EnhancedBackedEnum::ENUM],
3232
'bl-unit' => ['Henzeb\Enumhancer\Functions\bl', EnhancedUnitEnum::THIRD_ENUM, false],
3333
'bl-backed' => ['Henzeb\Enumhancer\Functions\bl', EnhancedBackedEnum::ENUM],
34-
'backing-lower-unit' => ['Henzeb\Enumhancer\Functions\backingLowercase', EnhancedUnitEnum::THIRD_ENUM, false],
34+
'backing-lower-unit' => [
35+
'Henzeb\Enumhancer\Functions\backingLowercase',
36+
EnhancedUnitEnum::THIRD_ENUM,
37+
false
38+
],
3539
'backing-lower-backed' => ['Henzeb\Enumhancer\Functions\backingLowercase', EnhancedBackedEnum::ENUM],
3640
];
3741
}
@@ -71,7 +75,7 @@ public function testBackingShouldAllowNull()
7175
}
7276

7377

74-
function providesNameFunctionTestcases(): array
78+
public static function providesNameFunctionTestcases(): array
7579
{
7680
return [
7781
'n-unit' => ['Henzeb\Enumhancer\Functions\n', EnhancedUnitEnum::THIRD_ENUM],
@@ -107,7 +111,7 @@ public function testNameShouldAllowNull()
107111
);
108112
}
109113

110-
function providesValueFunctionTestcases(): array
114+
public static function providesValueFunctionTestcases(): array
111115
{
112116
return [
113117
'v-unit' => ['Henzeb\Enumhancer\Functions\v', EnhancedUnitEnum::THIRD_ENUM],

tests/Unit/Helpers/EnumBladeTest.php

+8-9
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,23 @@
22

33
namespace Henzeb\Enumhancer\Tests\Unit\Helpers;
44

5-
use UnitEnum;
6-
use RuntimeException;
7-
use Orchestra\Testbench\TestCase;
8-
use Illuminate\Support\Facades\Blade;
9-
use Henzeb\Enumhancer\Helpers\EnumBlade;
10-
use Henzeb\Enumhancer\Tests\Fixtures\IntBackedEnum;
115
use Henzeb\Enumhancer\Exceptions\NotAnEnumException;
12-
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedUnitEnum;
6+
use Henzeb\Enumhancer\Helpers\EnumBlade;
137
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedBackedEnum;
8+
use Henzeb\Enumhancer\Tests\Fixtures\EnhancedUnitEnum;
9+
use Henzeb\Enumhancer\Tests\Fixtures\IntBackedEnum;
1410
use Illuminate\Foundation\Testing\Concerns\InteractsWithViews;
11+
use Orchestra\Testbench\TestCase;
12+
use UnitEnum;
13+
use function Henzeb\Enumhancer\Functions\backing;
1514
use function Henzeb\Enumhancer\Functions\name;
1615
use function Henzeb\Enumhancer\Functions\value;
17-
use function Henzeb\Enumhancer\Functions\backing;
1816

1917
class EnumBladeTest extends TestCase
2018
{
2119
use InteractsWithViews;
22-
public function providesTestcases(): array
20+
21+
public static function providesTestcases(): array
2322
{
2423
return [
2524
'int-backed' => [IntBackedEnum::TEST],

tests/Unit/Helpers/EnumPropertiesTest.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class EnumPropertiesTest extends TestCase
1717
{
1818
use ClearsEnumProperties;
1919

20-
public function providesTestcasesForStoreProperty(): array
20+
public static function providesTestcasesForStoreProperty(): array
2121
{
2222
return [
2323
'boolean' => ['property', true, true, ConstructableUnitEnum::class],
@@ -63,7 +63,7 @@ public function testClearShouldNotAcceptNonEnums()
6363
EnumProperties::clear(stdClass::class);
6464
}
6565

66-
public function providesTestcasesForStorePropertyGlobally(): array
66+
public static function providesTestcasesForStorePropertyGlobally(): array
6767
{
6868
return [
6969
'boolean' => ['property', true, true],
@@ -230,7 +230,7 @@ public function testStoreOnceOverridesStore()
230230
$this->assertEquals('something else', EnumProperties::get(ConstructableUnitEnum::class, 'test'));
231231
}
232232

233-
public function providesReservedWords(): array
233+
public static function providesReservedWords(): array
234234
{
235235
return [
236236
['@default_configure', 'defaults'],

tests/Unit/Helpers/EnumSubsetMethodsTest.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ function (EnhancedUnitEnum $enum) use (&$enums) {
120120
$this->assertEquals(EnhancedUnitEnum::cases(), $enums);
121121
}
122122

123-
public function providesTestCasesForReturningSubsetOfCases(): array
123+
public static function providesTestCasesForReturningSubsetOfCases(): array
124124
{
125125
return [
126126
[[EnhancedUnitEnum::ENUM]],
@@ -140,9 +140,9 @@ public function testCasesShouldReturnSubsetOfCases(array $cases)
140140
);
141141
}
142142

143-
public function providesDropdownTestcases(): array
143+
public static function providesDropdownTestcases(): array
144144
{
145-
return DropdownTest::dropdownTestcases();
145+
return DropdownTest::providesDropdownTestcases();
146146
}
147147

148148
/**

0 commit comments

Comments
 (0)