From 0cbd4f557b5e9aeb4db1db2e28157100942e763d Mon Sep 17 00:00:00 2001 From: kritskiy Date: Mon, 21 Jul 2025 14:31:04 +0500 Subject: [PATCH] feat: added laravel 12, fixed warning that nullable parameter is deprecated --- composer.json | 6 +++--- src/Core/BaseJob.php | 2 +- tests/Conditions/AllJobsInStatesTest.php | 2 +- tests/Conditions/AndConditionsTest.php | 2 +- tests/Conditions/EmptyJobsTest.php | 2 +- tests/Conditions/JobInStateTest.php | 2 +- tests/Conditions/OneJobInStateTest.php | 2 +- tests/Conditions/OrConditionsTest.php | 2 +- tests/Conditions/PromiseInStateTest.php | 2 +- tests/Conditions/TimeoutTest.php | 20 +++++++------------ .../ConditionTransitionHandlerTest.php | 4 ++-- tests/Models/Casts/ConditionsCastTest.php | 2 +- tests/Models/PromiseJobTest.php | 2 +- 13 files changed, 22 insertions(+), 28 deletions(-) diff --git a/composer.json b/composer.json index 2be6f55..bb1d2dd 100644 --- a/composer.json +++ b/composer.json @@ -20,14 +20,14 @@ "ext-json": "*", "ext-pcntl": "*", "bensampo/laravel-enum": "^3.0|^4.0|^5.0|^6.0", - "laravel/framework": "^9.0|^10.0|^11.0", + "laravel/framework": "^9.0|^10.0|^11.0|^12.0", "nesbot/carbon": "^2.0|^3.0" }, "require-dev": { "laravel/pint": "^1.16", "mockery/mockery": "^1.6", - "orchestra/testbench": "^6.13|^7.1|^8.0", - "phpunit/phpunit": "^9.5", + "orchestra/testbench": "^6.13|^7.1|^8.0|^9.0|^10.0", + "phpunit/phpunit": "^9.5|^10.5|^11.5", "roave/security-advisories": "dev-latest", "vimeo/psalm": "^6.0" }, diff --git a/src/Core/BaseJob.php b/src/Core/BaseJob.php index b67c12e..ee9067a 100644 --- a/src/Core/BaseJob.php +++ b/src/Core/BaseJob.php @@ -30,7 +30,7 @@ class BaseJob implements StatesContract, ConditionTransitionsContract private ?\Throwable $exception = null; private PromiseJob $model; - public function __construct(int $promise_id, MayPromised $initial_job, MayPromised $result_job = null) + public function __construct(int $promise_id, MayPromised $initial_job, ?MayPromised $result_job = null) { $this->promise_id = $promise_id; $this->initial_job = $initial_job; diff --git a/tests/Conditions/AllJobsInStatesTest.php b/tests/Conditions/AllJobsInStatesTest.php index 142667a..e1597b7 100644 --- a/tests/Conditions/AllJobsInStatesTest.php +++ b/tests/Conditions/AllJobsInStatesTest.php @@ -39,7 +39,7 @@ public function setUp(): void ->create(['id' => 2]); } - public function conditionProvider(): array + public static function conditionProvider(): array { return [ 'OneOf False' => [[StateEnum::TIMEOUT(), StateEnum::SUCCESS()], 1, false], diff --git a/tests/Conditions/AndConditionsTest.php b/tests/Conditions/AndConditionsTest.php index 67f86b3..1ac1f84 100644 --- a/tests/Conditions/AndConditionsTest.php +++ b/tests/Conditions/AndConditionsTest.php @@ -13,7 +13,7 @@ */ class AndConditionsTest extends TestCase { - public function conditionProvider(): array + public static function conditionProvider(): array { $trueMock = \Mockery::mock(ConditionContract::class); $trueMock->shouldReceive('condition') diff --git a/tests/Conditions/EmptyJobsTest.php b/tests/Conditions/EmptyJobsTest.php index cd42dbb..6ef048b 100644 --- a/tests/Conditions/EmptyJobsTest.php +++ b/tests/Conditions/EmptyJobsTest.php @@ -32,7 +32,7 @@ public function setUp(): void ->create(['id' => 2]); } - public function conditionProvider(): array + public static function conditionProvider(): array { return [ 'False' => [1, false], diff --git a/tests/Conditions/JobInStateTest.php b/tests/Conditions/JobInStateTest.php index fced9e4..c68e75d 100644 --- a/tests/Conditions/JobInStateTest.php +++ b/tests/Conditions/JobInStateTest.php @@ -40,7 +40,7 @@ public function setUp(): void $this->baseJob = $job->getBaseJob(); } - public function conditionProvider(): array + public static function conditionProvider(): array { return [ 'OneOf True' => [[StateEnum::SUCCESS(), StateEnum::FAILED()], true], diff --git a/tests/Conditions/OneJobInStateTest.php b/tests/Conditions/OneJobInStateTest.php index ae81d47..bb9c9d0 100644 --- a/tests/Conditions/OneJobInStateTest.php +++ b/tests/Conditions/OneJobInStateTest.php @@ -36,7 +36,7 @@ public function setUp(): void ->create(['id' => 2]); } - public function conditionProvider(): array + public static function conditionProvider(): array { return [ 'OneOf True' => [[StateEnum::TIMEOUT(), StateEnum::FAILED()], 1, true], diff --git a/tests/Conditions/OrConditionsTest.php b/tests/Conditions/OrConditionsTest.php index a07df4b..b84ed3f 100644 --- a/tests/Conditions/OrConditionsTest.php +++ b/tests/Conditions/OrConditionsTest.php @@ -13,7 +13,7 @@ */ class OrConditionsTest extends TestCase { - public function conditionProvider(): array + public static function conditionProvider(): array { $trueMock = \Mockery::mock(ConditionContract::class); $trueMock->shouldReceive('condition') diff --git a/tests/Conditions/PromiseInStateTest.php b/tests/Conditions/PromiseInStateTest.php index e486248..83409bb 100644 --- a/tests/Conditions/PromiseInStateTest.php +++ b/tests/Conditions/PromiseInStateTest.php @@ -32,7 +32,7 @@ public function setUp(): void $this->basePromise = $promise->getBasePromise(); } - public function conditionProvider(): array + public static function conditionProvider(): array { return [ 'OneOf True' => [[StateEnum::TIMEOUT(), StateEnum::FAILED()], true], diff --git a/tests/Conditions/TimeoutTest.php b/tests/Conditions/TimeoutTest.php index 9194884..d57d99d 100644 --- a/tests/Conditions/TimeoutTest.php +++ b/tests/Conditions/TimeoutTest.php @@ -14,19 +14,12 @@ */ class TimeoutTest extends TestCase { - private Carbon $nowTime; + private const NOW_TIME = '2021-02-20T00:00:00+0000'; - public function setUp(): void + public static function conditionProvider(): array { - parent::setUp(); - - $this->nowTime = Carbon::parse('2021-02-20T00:00:00'); - } - - public function conditionProvider(): array - { - $this->nowTime = Carbon::parse('2021-02-20T00:00:00'); - Carbon::setTestNow($this->nowTime); + $nowTime = Carbon::parse(self::NOW_TIME); + Carbon::setTestNow($nowTime); return [ 'Carbon true' => [ @@ -83,13 +76,14 @@ public function conditionProvider(): array */ public function testCondition($timeout, Carbon $expiredAt, bool $expected): void { - Carbon::setTestNow($this->nowTime); + $nowTime = Carbon::parse(self::NOW_TIME); + Carbon::setTestNow($nowTime); $basePromise = new BasePromise(new TestPromise()); $condition = new Timeout($timeout); $expiredAtResult = $condition->getExpiredAt(); self::assertEquals($expiredAt, $expiredAtResult); - Carbon::setTestNow($this->nowTime->addMinutes(2)); + Carbon::setTestNow($nowTime->addMinutes(2)); $result = $condition->condition($basePromise); self::assertEquals($expected, $result); diff --git a/tests/Core/Support/ConditionTransitionHandlerTest.php b/tests/Core/Support/ConditionTransitionHandlerTest.php index 146e476..4c54e48 100644 --- a/tests/Core/Support/ConditionTransitionHandlerTest.php +++ b/tests/Core/Support/ConditionTransitionHandlerTest.php @@ -15,7 +15,7 @@ */ class ConditionTransitionHandlerTest extends TestCase { - public function getTransitionForConditionsProvider(): array + public static function getTransitionForConditionsProvider(): array { $trueMock = \Mockery::mock(ConditionContract::class); $trueMock->shouldReceive('condition') @@ -59,7 +59,7 @@ public function testGetTransitionForConditions(array $conditions, ?ConditionTran self::assertEquals($expected, $result); } - public function getConditionsForStateProvider(): array + public static function getConditionsForStateProvider(): array { $trueMock = \Mockery::mock(ConditionContract::class); $trueMock->shouldReceive('condition') diff --git a/tests/Models/Casts/ConditionsCastTest.php b/tests/Models/Casts/ConditionsCastTest.php index 6c16d85..87e3117 100644 --- a/tests/Models/Casts/ConditionsCastTest.php +++ b/tests/Models/Casts/ConditionsCastTest.php @@ -14,7 +14,7 @@ */ class ConditionsCastTest extends TestCase { - public function getSetProvider(): array + public static function getSetProvider(): array { return [ 'Full' => [ diff --git a/tests/Models/PromiseJobTest.php b/tests/Models/PromiseJobTest.php index 38ad738..99b0835 100644 --- a/tests/Models/PromiseJobTest.php +++ b/tests/Models/PromiseJobTest.php @@ -25,7 +25,7 @@ class PromiseJobTest extends TestCase { use RefreshDatabase; - public function saveProvider(): array + public static function saveProvider(): array { $conditions = [ new ConditionTransition(