77
88use Magento \Catalog \Model \CustomOptions \CustomOption ;
99use Magento \Catalog \Model \Webapi \Product \Option \Type \File \Processor as FileProcessor ;
10+ use Magento \Framework \Api \ExtensionAttributesFactory ;
11+ use Magento \Catalog \Api \Data \CustomOptionExtensionInterface ;
1012
1113class CustomOptionTest extends \PHPUnit \Framework \TestCase
1214{
@@ -15,6 +17,12 @@ class CustomOptionTest extends \PHPUnit\Framework\TestCase
1517 */
1618 protected $ model ;
1719
20+ /** @var \Magento\Framework\Api\ExtensionAttributesFactory | \PHPUnit_Framework_MockObject_MockObject */
21+ private $ extensionAttributesFactoryMock ;
22+
23+ /** @var \Magento\Catalog\Api\Data\CustomOptionExtensionInterface | \PHPUnit_Framework_MockObject_MockObject */
24+ private $ extensionMock ;
25+
1826 /**
1927 * @var FileProcessor | \PHPUnit_Framework_MockObject_MockObject
2028 */
@@ -30,7 +38,7 @@ protected function setUp()
3038 ->disableOriginalConstructor ()
3139 ->getMock ();
3240
33- $ extensionAttributesFactory = $ this ->getMockBuilder (\ Magento \ Framework \ Api \ ExtensionAttributesFactory::class)
41+ $ this -> extensionAttributesFactoryMock = $ this ->getMockBuilder (ExtensionAttributesFactory::class)
3442 ->disableOriginalConstructor ()
3543 ->getMock ();
3644
@@ -52,10 +60,17 @@ protected function setUp()
5260 ->disableOriginalConstructor ()
5361 ->getMock ();
5462
63+ $ this ->extensionMock = $ this ->getMockBuilder (\Magento \Catalog \Api \Data \CustomOptionExtensionInterface::class)
64+ ->setMethods (['getFileInfo ' ])
65+ ->getMockForAbstractClass ();
66+
67+ $ this ->extensionAttributesFactoryMock ->expects (self ::any ())
68+ ->method ('create ' )->willReturn ($ this ->extensionMock );
69+
5570 $ this ->model = new CustomOption (
5671 $ context ,
5772 $ registry ,
58- $ extensionAttributesFactory ,
73+ $ this -> extensionAttributesFactoryMock ,
5974 $ attributeValueFactory ,
6075 $ this ->fileProcessor ,
6176 $ resource ,
@@ -84,14 +99,10 @@ public function testGetOptionValue()
8499
85100 public function testGetOptionValueWithFileInfo ()
86101 {
87- $ customOption = $ this ->getMockBuilder (\Magento \Catalog \Api \Data \CustomOptionExtensionInterface::class)
88- ->setMethods (['getFileInfo ' ])
89- ->getMockForAbstractClass ();
90-
91102 $ imageContent = $ this ->getMockBuilder (\Magento \Framework \Api \Data \ImageContentInterface::class)
92103 ->getMockForAbstractClass ();
93104
94- $ customOption ->expects ($ this ->once ())
105+ $ this -> extensionMock ->expects ($ this ->once ())
95106 ->method ('getFileInfo ' )
96107 ->willReturn ($ imageContent );
97108
@@ -112,7 +123,6 @@ public function testGetOptionValueWithFileInfo()
112123 ->with ($ imageContent )
113124 ->willReturn ($ imageResult );
114125
115- $ this ->model ->setExtensionAttributes ($ customOption );
116126 $ this ->model ->setData (\Magento \Catalog \Api \Data \CustomOptionInterface::OPTION_VALUE , 'file ' );
117127 $ this ->assertEquals ($ imageResult , $ this ->model ->getOptionValue ());
118128 }
0 commit comments