@@ -66,74 +66,57 @@ protected function setUp(): void
66
66
*
67
67
* @magentoDataFixture Magento/MediaGallery/_files/media_asset.php
68
68
* @dataProvider keywordsProvider
69
- * @param array $keywords
69
+ * @param array|null $keywords
70
+ * @param array|null $updatedKeywords
70
71
* @throws \Magento\Framework\Exception\LocalizedException
71
72
*/
72
- public function testSaveAndGetKeywords (array $ keywords ): void
73
+ public function testSaveAndGetKeywords (array $ keywords = [], array $ updatedKeywords = [] ): void
73
74
{
74
- $ keywords = ['pear ' , 'plum ' ];
75
- $ updatedKeywords = ['pear ' , 'apple ' ,'orange ' ];
76
-
77
75
$ loadedAssets = $ this ->getAssetsByPath ->execute ([self ::FIXTURE_ASSET_PATH ]);
78
76
$ this ->assertCount (1 , $ loadedAssets );
79
77
$ loadedAsset = current ($ loadedAssets );
80
78
79
+ $ this ->updateAssetKeywords ($ loadedAsset ->getId (), $ keywords );
80
+ $ this ->updateAssetKeywords ($ loadedAsset ->getId (), $ updatedKeywords );
81
+ }
82
+
83
+ /**
84
+ * Update Asset keywords
85
+ *
86
+ * @param int $assetId
87
+ * @param array|null $keywords
88
+ */
89
+ private function updateAssetKeywords (int $ assetId , array $ keywords = []): void
90
+ {
81
91
$ assetKeywords = $ this ->assetsKeywordsFactory ->create (
82
92
[
83
- 'assetId ' => $ loadedAsset -> getId () ,
93
+ 'assetId ' => $ assetId ,
84
94
'keywords ' => $ this ->getKeywords ($ keywords )
85
95
]
86
96
);
87
97
88
98
$ this ->saveAssetsKeywords ->execute ([$ assetKeywords ]);
89
- $ loadedAssetKeywords = $ this ->getAssetsKeywords ->execute ([$ loadedAsset ->getId ()]);
90
-
91
- $ this ->assertCount (1 , $ loadedAssetKeywords );
92
-
93
- /** @var AssetKeywordsInterface $loadedAssetKeyword */
94
- $ loadedAssetKeyword = current ($ loadedAssetKeywords );
95
-
96
- $ loadedKeywords = $ loadedAssetKeyword ->getKeywords ();
99
+ $ loadedAssetKeywords = $ this ->getAssetsKeywords ->execute ([$ assetId ]);
97
100
98
- $ this ->assertEquals (count ($ keywords ), count ($ loadedKeywords ));
101
+ if (!empty ($ keywords )) {
102
+ $ this ->assertCount (1 , $ loadedAssetKeywords );
103
+ /** @var AssetKeywordsInterface $loadedAssetKeyword */
104
+ $ loadedAssetKeyword = current ($ loadedAssetKeywords );
99
105
100
- $ loadedKeywordStrings = [];
101
- foreach ($ loadedKeywords as $ loadedKeywordObject ) {
102
- $ loadedKeywordStrings [] = $ loadedKeywordObject ->getKeyword ();
103
- }
104
-
105
- sort ($ loadedKeywordStrings );
106
- sort ($ keywords );
107
-
108
- $ this ->assertEquals ($ keywords , $ loadedKeywordStrings );
109
-
110
- $ updatedAssetKeywords = $ this ->assetsKeywordsFactory ->create (
111
- [
112
- 'assetId ' => $ loadedAsset ->getId (),
113
- 'keywords ' => $ this ->getKeywords ($ updatedKeywords )
114
- ]
115
- );
116
- $ this ->saveAssetsKeywords ->execute ([$ updatedAssetKeywords ]);
117
- $ updatedLoadedAssetKeywords = $ this ->getAssetsKeywords ->execute ([$ loadedAsset ->getId ()]);
118
-
119
- $ this ->assertCount (1 , $ updatedLoadedAssetKeywords );
106
+ $ loadedKeywords = $ loadedAssetKeyword ->getKeywords ();
120
107
121
- /** @var AssetKeywordsInterface $updatedLoadedAssetKeywords */
122
- $ updatedLoadedAssetKeywords = current ($ updatedLoadedAssetKeywords );
108
+ $ this ->assertEquals (count ($ keywords ), count ($ loadedKeywords ));
123
109
124
- $ updatedLoadedKeywords = $ updatedLoadedAssetKeywords ->getKeywords ();
110
+ $ loadedKeywordStrings = [];
111
+ foreach ($ loadedKeywords as $ loadedKeywordObject ) {
112
+ $ loadedKeywordStrings [] = $ loadedKeywordObject ->getKeyword ();
113
+ }
125
114
126
- $ this ->assertEquals (count ($ updatedKeywords ), count ($ updatedLoadedKeywords ));
115
+ sort ($ loadedKeywordStrings );
116
+ sort ($ keywords );
127
117
128
- $ updatedLoadedKeywordStrings = [];
129
- foreach ($ updatedLoadedKeywords as $ updatedLoadedKeywordObject ) {
130
- $ updatedLoadedKeywordStrings [] = $ updatedLoadedKeywordObject ->getKeyword ();
118
+ $ this ->assertEquals ($ keywords , $ loadedKeywordStrings );
131
119
}
132
-
133
- sort ($ updatedLoadedKeywordStrings );
134
- sort ($ updatedKeywords );
135
-
136
- $ this ->assertEquals ($ updatedKeywords , $ updatedLoadedKeywordStrings );
137
120
}
138
121
139
122
/**
@@ -144,10 +127,17 @@ public function testSaveAndGetKeywords(array $keywords): void
144
127
public function keywordsProvider (): array
145
128
{
146
129
return [
147
- [['one-keyword ' ]],
148
- [['кириллица ' ]],
149
- [['plum ' , 'pear ' ]],
150
- [[]]
130
+ [['one-keyword ' ],['plum ' ,'orange ' ]],
131
+ [['кириллица ' ],[]],
132
+ [[],['plum ' ]],
133
+ [['plum ' , 'pear ' ],['plum ' ,'pear ' ]],
134
+ [['plum ' , 'pear ' ],['plum ' ,'orange ' ]],
135
+ [['plum ' , 'pear ' ,'grape ' ],['plum ' ,'orange ' ]],
136
+ [['plum ' , 'pear ' ,'grape ' ],['mango ' ]],
137
+ [['plum ' , 'pear ' ,'grape ' ],['orange ' ]],
138
+ [['plum ' , 'pear ' ,'grape ' ],[]],
139
+ [['plum ' , 'pear ' ],['plum ' , 'pear ' ,'grape ' ,'mango ' ,'orange ' ]],
140
+ [[],[]]
151
141
];
152
142
}
153
143
0 commit comments