Skip to content
Snippets Groups Projects
Commit 1d5adf97 authored by osrecio's avatar osrecio
Browse files

MAGETWO-84003: 9764: exception message is wrong and misleading in...

MAGETWO-84003: 9764: exception message is wrong and misleading in findAccessorMethodName() of Magento\Framework\Reflection\NameFinder #12303

 - Merge Pull Request magento/magento2#12303 from RomaKis/magento2:9764
 - Merged commits:
   1. ba47d85e
   2. 0a760341
parents 6f4ab5fc 0a760341
Branches
No related merge requests found
......@@ -99,8 +99,9 @@ class NameFinder
} else {
throw new \LogicException(
sprintf(
'Property "%s" does not have corresponding setter in class "%s".',
'Property "%s" does not have accessor method "%s" in class "%s".',
$camelCaseProperty,
$accessorName,
$class->getName()
)
);
......
......@@ -27,7 +27,7 @@ class NameFinderTest extends \PHPUnit\Framework\TestCase
public function testGetSetterMethodName()
{
$class = new ClassReflection("\\Magento\\Framework\\Reflection\\Test\\Unit\\DataObject");
$class = new ClassReflection(\Magento\Framework\Reflection\Test\Unit\DataObject::class);
$setterName = $this->nameFinder->getSetterMethodName($class, 'AttrName');
$this->assertEquals("setAttrName", $setterName);
......@@ -37,21 +37,43 @@ class NameFinderTest extends \PHPUnit\Framework\TestCase
/**
* @expectedException \Exception
* @expectedExceptionMessageRegExp /Property "InvalidAttribute" does not have corresponding setter in class (.*?)/
* @codingStandardsIgnoreStart
* @expectedExceptionMessage Property "InvalidAttribute" does not have accessor method "setInvalidAttribute" in class "Magento\Framework\Reflection\Test\Unit\DataObject"
* @codingStandardsIgnoreEnd
*/
public function testGetSetterMethodNameInvalidAttribute()
{
$class = new ClassReflection("\\Magento\\Framework\\Reflection\\Test\\Unit\\DataObject");
$class = new ClassReflection(\Magento\Framework\Reflection\Test\Unit\DataObject::class);
$this->nameFinder->getSetterMethodName($class, 'InvalidAttribute');
}
/**
* @expectedException \Exception
* @expectedExceptionMessageRegExp /Property "ActivE" does not have corresponding setter in class (.*?)/
* @codingStandardsIgnoreStart
* @expectedExceptionMessage Property "ActivE" does not have accessor method "setActivE" in class "Magento\Framework\Reflection\Test\Unit\DataObject"
* @codingStandardsIgnoreEnd
*/
public function testGetSetterMethodNameWrongCamelCasedAttribute()
{
$class = new ClassReflection("\\Magento\\Framework\\Reflection\\Test\\Unit\\DataObject");
$class = new ClassReflection(\Magento\Framework\Reflection\Test\Unit\DataObject::class);
$this->nameFinder->getSetterMethodName($class, 'ActivE');
}
/**
* @expectedException \LogicException
* @expectedExceptionMessage Property "Property" does not have accessor method "getProperty" in class "className".
*/
public function testFindAccessorMethodName()
{
$reflectionClass = $this->createMock(\Zend\Code\Reflection\ClassReflection::class);
$reflectionClass->expects($this->atLeastOnce())->method('hasMethod')->willReturn(false);
$reflectionClass->expects($this->atLeastOnce())->method('getName')->willReturn('className');
$this->nameFinder->findAccessorMethodName(
$reflectionClass,
'Property',
'getProperty',
'isProperty'
);
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment