1111use Magento \AdobeStockAssetApi \Api \Data \CategoryInterface ;
1212use Magento \AdobeStockAssetApi \Api \Data \CreatorInterface ;
1313use Magento \AdobeStockImage \Model \Extract \AdobeStockAsset ;
14+ use Magento \Framework \Reflection \DataObjectProcessor ;
1415use Magento \Framework \Api \AttributeInterface ;
1516use Magento \Framework \Api \Search \Document ;
1617use Magento \TestFramework \Helper \Bootstrap ;
@@ -26,6 +27,11 @@ class DocumentToAssetTest extends TestCase
2627 */
2728 private $ documentToAsset ;
2829
30+ /**
31+ * @var mixed
32+ */
33+ private $ dataObjectProcessor ;
34+
2935 /**
3036 * Prepare test objects.
3137 */
@@ -34,35 +40,32 @@ protected function setUp(): void
3440 $ this ->documentToAsset = Bootstrap::getObjectManager ()->get (
3541 AdobeStockAsset::class
3642 );
43+ $ this ->dataObjectProcessor = Bootstrap::getObjectManager ()->get (
44+ DataObjectProcessor::class
45+ );
3746 }
3847
3948 /**
4049 * @dataProvider documentProvider
41- * @param array $assetData
42- * @param array $categoryData
43- * @param array $creatorData
44- * @param Document $document
50+ * @param array $data
4551 * @param array $additionalData
4652 */
4753 public function testConvert (
48- array $ assetData ,
49- array $ categoryData ,
50- array $ creatorData ,
51- Document $ document ,
54+ array $ data ,
5255 array $ additionalData
5356 ): void {
54- $ this -> documentToAsset = Bootstrap:: getObjectManager ()-> get (
55- AdobeStockAsset::class
56- );
57- $ documentToAsset = $ this ->documentToAsset -> convert ( $ document , $ additionalData );
58- $ this ->assertEquals ($ creatorData , $ documentToAsset ->getCreator ()->getData ());
59- $ this ->assertEquals ($ categoryData , $ documentToAsset -> getCategory ()-> getData () );
60- $ this ->assertEquals ($ assetData ['id ' ], $ documentToAsset ->getId ());
61- $ this ->assertEquals ($ assetData ['is_licensed ' ], $ documentToAsset ->getIsLicensed ());
62- $ this ->assertEquals ($ assetData ['media_gallery_id ' ], $ documentToAsset ->getMediaGalleryId ());
63- $ this ->assertInstanceOf (CategoryInterface::class, $ documentToAsset ['category ' ]);
64- $ this ->assertInstanceOf (CreatorInterface::class, $ documentToAsset ['creator ' ]);
65- $ this ->assertInstanceOf (AssetInterface::class, $ documentToAsset );
57+ $ document = $ this -> getDocument ( $ data );
58+ $ asset = $ this -> documentToAsset -> convert ( $ document , $ additionalData );
59+ $ getCategory = $ this -> dataObjectProcessor -> buildOutputDataArray ( $ asset -> getCategory (), CategoryInterface::class );
60+ $ this ->assertEquals ( $ data [ ' creator_id ' ] , $ asset -> getCreator ()-> getId () );
61+ $ this ->assertEquals ($ data [ ' creator_name ' ] , $ asset ->getCreator ()->getName ());
62+ $ this ->assertEquals ($ data [ ' category ' ] , $ getCategory );
63+ $ this ->assertEquals ($ data ['id ' ], $ asset ->getId ());
64+ $ this ->assertEquals ($ data ['is_licensed ' ], $ asset ->getIsLicensed ());
65+ $ this ->assertEquals ($ additionalData ['media_gallery_id ' ], $ asset ->getMediaGalleryId ());
66+ $ this ->assertInstanceOf (CategoryInterface::class, $ asset ['category ' ]);
67+ $ this ->assertInstanceOf (CreatorInterface::class, $ asset ['creator ' ]);
68+ $ this ->assertInstanceOf (AssetInterface::class, $ asset );
6669 }
6770
6871 /**
@@ -72,32 +75,17 @@ public function documentProvider(): array
7275 {
7376 return [
7477 'case1 ' => [
75- 'assetData ' => [
78+ 'data ' => [
7679 'id ' => 1 ,
77- 'is_licensed ' => 1 ,
78- 'media_gallery_id ' => 5
79- ],
80- 'categoryData ' => [
81- 'id ' => 2 ,
82- 'name ' => 'The Category '
83- ],
84- 'creatorData ' => [
85- 'name ' => 'Creator ' ,
86- 'id ' => 3 ,
80+ 'category ' => [
81+ 'id ' => 2 ,
82+ 'name ' => 'The Category '
83+ ],
84+ 'creator_name ' => 'Creator ' ,
85+ 'creator_id ' => 3 ,
86+ 'is_licensed ' => 1
8787 ],
88- 'document ' => $ this ->getDocument (
89- [
90- 'id ' => 1 ,
91- 'category ' => [
92- 'id ' => 2 ,
93- 'name ' => 'The Category '
94- ],
95- 'creator_name ' => 'Creator ' ,
96- 'creator_id ' => 3 ,
97- 'is_licensed ' => 1
98- ]
99- ),
100- [
88+ 'additionaData ' => [
10189 'media_gallery_id ' => 5
10290 ]
10391 ]
0 commit comments