123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Webapi\Test\Unit\Model\Config;
- /**
- * Test for class reflector.
- */
- class ClassReflectorTest extends \PHPUnit\Framework\TestCase
- {
- /** @var \Magento\Framework\Reflection\TypeProcessor|\PHPUnit_Framework_MockObject_MockObject */
- protected $_typeProcessor;
- /** @var \Magento\Webapi\Model\Config\ClassReflector */
- protected $_classReflector;
- /**
- * Set up helper.
- */
- protected function setUp()
- {
- $this->_typeProcessor = $this->createPartialMock(
- \Magento\Framework\Reflection\TypeProcessor::class,
- ['process']
- );
- $this->_typeProcessor->expects(
- $this->any()
- )->method(
- 'process'
- )->will(
- $this->returnValueMap([['string', 'str'], ['int', 'int']])
- );
- $this->_classReflector = new \Magento\Webapi\Model\Config\ClassReflector($this->_typeProcessor);
- }
- public function testReflectClassMethods()
- {
- $data = $this->_classReflector->reflectClassMethods(
- \Magento\Webapi\Test\Unit\Model\Config\TestServiceForClassReflector::class,
- ['generateRandomString' => ['method' => 'generateRandomString']]
- );
- $this->assertEquals(['generateRandomString' => $this->_getSampleReflectionData()], $data);
- }
- public function testExtractMethodData()
- {
- $classReflection = new \Zend\Code\Reflection\ClassReflection(
- \Magento\Webapi\Test\Unit\Model\Config\TestServiceForClassReflector::class
- );
- /** @var $methodReflection \Zend\Code\Reflection\MethodReflection */
- $methodReflection = $classReflection->getMethods()[0];
- $methodData = $this->_classReflector->extractMethodData($methodReflection);
- $expectedResponse = $this->_getSampleReflectionData();
- $this->assertEquals($expectedResponse, $methodData);
- }
- /**
- * Expected reflection data for TestServiceForClassReflector generateRandomString method
- *
- * @return array
- */
- protected function _getSampleReflectionData()
- {
- return [
- 'documentation' => 'Basic random string generator. This line is short description ' .
- 'This line is long description. This is still the long description.',
- 'interface' => [
- 'in' => [
- 'parameters' => [
- 'length' => [
- 'type' => 'int',
- 'required' => true,
- 'documentation' => 'length of the random string',
- ],
- ],
- ],
- 'out' => [
- 'parameters' => [
- 'result' => ['type' => 'string', 'documentation' => 'random string', 'required' => true],
- ],
- ],
- ]
- ];
- }
- }
|