From 5a343160a907b82389b13d6bed12573914023705 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sat, 7 Feb 2026 20:55:35 +0700 Subject: [PATCH 1/2] [CodeQuality] Skip on non-mock object on DecorateWillReturnMapWithExpectsMockRector --- .../Fixture/skip_on_create_stub.php.inc | 24 +++++++++++++++++++ .../Source/SomeInterfaceToStub.php | 10 ++++++++ 2 files changed, 34 insertions(+) create mode 100644 rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Fixture/skip_on_create_stub.php.inc create mode 100644 rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Source/SomeInterfaceToStub.php diff --git a/rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Fixture/skip_on_create_stub.php.inc b/rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Fixture/skip_on_create_stub.php.inc new file mode 100644 index 00000000..47859c45 --- /dev/null +++ b/rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Fixture/skip_on_create_stub.php.inc @@ -0,0 +1,24 @@ +service = $this->createStub(SomeInterfaceToStub::class); + } + + public function test() + { + $this->service->method('execute')->willReturnMap(['asdf', 'adsfasdf']); + $this->service->execute(); + } +} diff --git a/rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Source/SomeInterfaceToStub.php b/rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Source/SomeInterfaceToStub.php new file mode 100644 index 00000000..1ffaad6a --- /dev/null +++ b/rules-tests/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector/Source/SomeInterfaceToStub.php @@ -0,0 +1,10 @@ + Date: Sat, 7 Feb 2026 20:56:03 +0700 Subject: [PATCH 2/2] fix --- .../DecorateWillReturnMapWithExpectsMockRector.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rules/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector.php b/rules/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector.php index 21df3c81..bb084061 100644 --- a/rules/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector.php +++ b/rules/CodeQuality/Rector/Expression/DecorateWillReturnMapWithExpectsMockRector.php @@ -12,7 +12,9 @@ use PhpParser\Node\Identifier; use PhpParser\Node\Scalar\Int_; use PhpParser\Node\Stmt\Expression; +use PHPStan\Type\ObjectType; use Rector\PHPStan\ScopeFetcher; +use Rector\PHPUnit\Enum\PHPUnitClassName; use Rector\Rector\AbstractRector; use Rector\ValueObject\MethodName; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; @@ -108,6 +110,10 @@ public function refactor(Node $node) return null; } + if (! $this->isObjectType($topmostCall->var, new ObjectType(PHPUnitClassName::MOCK_OBJECT))) { + return null; + } + if ($methodCall->isFirstClassCallable()) { return null; }