9
9
10
10
use Magento \Framework \TestFramework \Unit \Helper \ObjectManager ;
11
11
use Magento \MediaGallery \Model \Asset ;
12
+ use Magento \MediaGallery \Model \DataExtractor ;
12
13
use Magento \MediaGallery \Model \Keyword ;
13
14
use Magento \MediaGalleryApi \Api \Data \AssetInterface ;
14
- use Magento \MediaGalleryApi \Api \Data \KeywordInterface ;
15
- use Magento \MediaGallery \Model \DataExtractor ;
16
15
use PHPUnit \Framework \MockObject \MockObject ;
17
16
use PHPUnit \Framework \TestCase ;
18
17
@@ -54,22 +53,41 @@ public function testExtractData(string $class, $interfaceClass, array $expectedD
54
53
'data ' => $ data ,
55
54
]
56
55
);
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
+ protected 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 ));
59
77
}
60
78
61
79
/**
62
80
* @param array $expectedData
63
81
* @param array $data
64
82
* @param object $model
65
83
*/
66
- protected function checkValues (array $ expectedData , array $ data , $ model )
84
+ protected function checkKeyWordValues (array $ expectedData , array $ data , $ model )
67
85
{
68
86
foreach ($ expectedData as $ expectedDataKey => $ expectedDataItem ) {
69
87
$ this ->assertEquals ($ data [$ expectedDataKey ] ?? null , $ model ->{$ expectedDataItem ['method ' ]}());
70
88
$ this ->assertEquals ($ data [$ expectedDataKey ] ?? null , $ expectedDataItem ['value ' ]);
71
89
}
72
- $ this ->assertEquals (array_keys ($ expectedData ), array_keys ($ expectedData ));
90
+ $ this ->assertEquals (array_keys ($ expectedData ), array_keys (array_slice ( $ data , 0 , 2 ) ));
73
91
}
74
92
75
93
/**
@@ -102,13 +120,17 @@ public function assetProvider()
102
120
'value ' => 'content_type ' ,
103
121
'method ' => 'getContentType ' ,
104
122
],
123
+ 'height ' => [
124
+ 'value ' => 4 ,
125
+ 'method ' => 'getHeight ' ,
126
+ ],
105
127
'width ' => [
106
128
'value ' => 3 ,
107
129
'method ' => 'getWidth ' ,
108
130
],
109
- 'height ' => [
110
- 'value ' => 4 ,
111
- 'method ' => 'getHeight ' ,
131
+ 'size ' => [
132
+ 'value ' => 300 ,
133
+ 'method ' => 'getSize ' ,
112
134
],
113
135
'created_at ' => [
114
136
'value ' => '2019-11-28 10:40:09 ' ,
@@ -122,7 +144,7 @@ public function assetProvider()
122
144
],
123
145
'Keyword conversion without interface ' => [
124
146
Keyword::class,
125
- null ,
147
+ '' ,
126
148
[
127
149
'id ' => [
128
150
'value ' => 2 ,
0 commit comments