99
1010use Magento \Framework \TestFramework \Unit \Helper \ObjectManager ;
1111use Magento \MediaGallery \Model \Asset ;
12+ use Magento \MediaGallery \Model \DataExtractor ;
1213use Magento \MediaGallery \Model \Keyword ;
1314use Magento \MediaGalleryApi \Api \Data \AssetInterface ;
14- use Magento \MediaGalleryApi \Api \Data \KeywordInterface ;
15- use Magento \MediaGallery \Model \DataExtractor ;
1615use PHPUnit \Framework \MockObject \MockObject ;
1716use PHPUnit \Framework \TestCase ;
1817
@@ -54,22 +53,41 @@ public function testExtractData(string $class, $interfaceClass, array $expectedD
5453 'data ' => $ data ,
5554 ]
5655 );
57- $ receivedData = $ this ->dataExtractor ->extract ($ model , $ interfaceClass );
58- $ this ->checkValues ($ expectedData , $ receivedData , $ model );
56+ if ($ interfaceClass ) {
57+ $ receivedData = $ this ->dataExtractor ->extract ($ model , $ interfaceClass );
58+ $ this ->checkAssetValues ($ expectedData , $ receivedData , $ model );
59+ } else {
60+ $ receivedData = $ this ->dataExtractor ->extract ($ model );
61+ $ this ->checkKeyWordValues ($ expectedData , $ receivedData , $ model );
62+ }
63+ }
64+
65+ /**
66+ * @param array $expectedData
67+ * @param array $data
68+ * @param object $model
69+ */
70+ private function checkAssetValues (array $ expectedData , array $ data , $ model )
71+ {
72+ foreach ($ expectedData as $ expectedDataKey => $ expectedDataItem ) {
73+ $ this ->assertEquals ($ data [$ expectedDataKey ] ?? null , $ model ->{$ expectedDataItem ['method ' ]}());
74+ $ this ->assertEquals ($ data [$ expectedDataKey ] ?? null , $ expectedDataItem ['value ' ]);
75+ }
76+ $ this ->assertEquals (array_keys ($ expectedData ), array_keys ($ data ));
5977 }
6078
6179 /**
6280 * @param array $expectedData
6381 * @param array $data
6482 * @param object $model
6583 */
66- protected function checkValues (array $ expectedData , array $ data , $ model )
84+ private function checkKeyWordValues (array $ expectedData , array $ data , $ model )
6785 {
6886 foreach ($ expectedData as $ expectedDataKey => $ expectedDataItem ) {
6987 $ this ->assertEquals ($ data [$ expectedDataKey ] ?? null , $ model ->{$ expectedDataItem ['method ' ]}());
7088 $ this ->assertEquals ($ data [$ expectedDataKey ] ?? null , $ expectedDataItem ['value ' ]);
7189 }
72- $ this ->assertEquals (array_keys ($ expectedData ), array_keys ($ expectedData ));
90+ $ this ->assertEquals (array_keys ($ expectedData ), array_keys (array_slice ( $ data , 0 , 2 ) ));
7391 }
7492
7593 /**
@@ -102,13 +120,17 @@ public function assetProvider()
102120 'value ' => 'content_type ' ,
103121 'method ' => 'getContentType ' ,
104122 ],
123+ 'height ' => [
124+ 'value ' => 4 ,
125+ 'method ' => 'getHeight ' ,
126+ ],
105127 'width ' => [
106128 'value ' => 3 ,
107129 'method ' => 'getWidth ' ,
108130 ],
109- 'height ' => [
110- 'value ' => 4 ,
111- 'method ' => 'getHeight ' ,
131+ 'size ' => [
132+ 'value ' => 300 ,
133+ 'method ' => 'getSize ' ,
112134 ],
113135 'created_at ' => [
114136 'value ' => '2019-11-28 10:40:09 ' ,
@@ -122,7 +144,7 @@ public function assetProvider()
122144 ],
123145 'Keyword conversion without interface ' => [
124146 Keyword::class,
125- null ,
147+ '' ,
126148 [
127149 'id ' => [
128150 'value ' => 2 ,
0 commit comments