From 52e3eee3e6ad9200159c700e14c669fb4e4ad31e Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Mon, 30 Jun 2025 09:48:12 -0400 Subject: [PATCH 1/2] test: Add verification for accessibility of protected method `moveNode` in subclasses of `NestedSetsBehavior`. --- tests/NestedSetsBehaviorTest.php | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/tests/NestedSetsBehaviorTest.php b/tests/NestedSetsBehaviorTest.php index ae2ce2c..e6e1c51 100644 --- a/tests/NestedSetsBehaviorTest.php +++ b/tests/NestedSetsBehaviorTest.php @@ -2206,4 +2206,41 @@ public function testProtectedShiftLeftRightAttributeRemainsAccessibleToSubclasse '\'shiftLeftRightAttribute\' method should remain protected to allow subclass customization.', ); } + + public function testProtectedMoveNodeRemainAccessibleToSubclasses(): void + { + $this->createDatabase(); + + $sourceNode = new ExtendableMultipleTree( + [ + 'name' => 'Source Node', + 'tree' => 4, + ], + ); + + $sourceNode->makeRoot(); + + $targetNode = new ExtendableMultipleTree( + [ + 'name' => 'Target Node', + 'tree' => 4, + ], + ); + + $targetNode->appendTo($sourceNode); + $sourceBehavior = $sourceNode->getBehavior('nestedSetsBehavior'); + + self::assertInstanceOf( + ExtendableNestedSetsBehavior::class, + $sourceBehavior, + '\'ExtendableMultipleTree\' should use \'ExtendableNestedSetsBehavior\'.', + ); + + $sourceBehavior->exposedMoveNode($targetNode, 5, 2); + + self::assertTrue( + $sourceBehavior->wasMethodCalled('moveNode'), + '\'moveNode\' method should remain protected to allow subclass customization.', + ); + } } From 06c0c3fdc6f2c475fd0b86a1b26e7b4ac229ff05 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Mon, 30 Jun 2025 09:51:11 -0400 Subject: [PATCH 2/2] test: Fix method name to ensure clarity in accessibility verification for `moveNode` in subclasses of `NestedSetsBehavior`. --- tests/NestedSetsBehaviorTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/NestedSetsBehaviorTest.php b/tests/NestedSetsBehaviorTest.php index e6e1c51..4cb97ac 100644 --- a/tests/NestedSetsBehaviorTest.php +++ b/tests/NestedSetsBehaviorTest.php @@ -2207,7 +2207,7 @@ public function testProtectedShiftLeftRightAttributeRemainsAccessibleToSubclasse ); } - public function testProtectedMoveNodeRemainAccessibleToSubclasses(): void + public function testProtectedMoveNodeRemainsAccessibleToSubclasses(): void { $this->createDatabase();