Skip to content

Commit cc4c5d0

Browse files
committed
magento/adobe-stock-integration#1391: SaveAssetsKeywordsInterface to delete obsolete keywords - Revised try catch to resolve failure in unit tests
1 parent b166cf5 commit cc4c5d0

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

app/code/Magento/MediaGallery/Model/ResourceModel/Keyword/SaveAssetLinks.php

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,33 +61,27 @@ public function __construct(
6161
* @param int $assetId
6262
* @param KeywordInterface[] $keywordIds
6363
*
64+
* @throws CouldNotDeleteException
6465
* @throws CouldNotSaveException
6566
*/
6667
public function execute(int $assetId, array $keywordIds): void
6768
{
68-
try {
69-
$currentKeywordIds = $this->getCurrentKeywordIds($assetId);
69+
$currentKeywordIds = $this->getCurrentKeywordIds($assetId);
7070

71-
$obsoleteKeywordIds = array_diff($currentKeywordIds, $keywordIds);
72-
$newKeywordIds = array_diff($keywordIds, $currentKeywordIds);
71+
$obsoleteKeywordIds = array_diff($currentKeywordIds, $keywordIds);
72+
$newKeywordIds = array_diff($keywordIds, $currentKeywordIds);
7373

74-
$this->deleteAssetKeywords($assetId, $obsoleteKeywordIds);
75-
$this->insertAssetKeywords($assetId, $newKeywordIds);
76-
77-
} catch (\Exception $exception) {
78-
$this->logger->critical($exception);
79-
throw new CouldNotSaveException(
80-
__('Could not process asset keyword links'),
81-
$exception
82-
);
83-
}
74+
$this->deleteAssetKeywords($assetId, $obsoleteKeywordIds);
75+
$this->insertAssetKeywords($assetId, $newKeywordIds);
8476
}
8577

8678
/**
8779
* Save new asset keyword links
8880
*
8981
* @param int $assetId
9082
* @param int[] $keywordIds
83+
*
84+
* @throws CouldNotSaveException
9185
*/
9286
private function insertAssetKeywords(int $assetId, array $keywordIds): void
9387
{
@@ -111,6 +105,10 @@ private function insertAssetKeywords(int $assetId, array $keywordIds): void
111105
);
112106
} catch (\Exception $exception) {
113107
$this->logger->critical($exception);
108+
throw new CouldNotSaveException(
109+
__('Could not save asset keyword links'),
110+
$exception
111+
);
114112
}
115113
}
116114

0 commit comments

Comments
 (0)