Skip to content

Commit 93ce4b5

Browse files
committed
#27536: Added UpdateRelationsTest
1 parent 86506a3 commit 93ce4b5

File tree

5 files changed

+83
-16
lines changed

5 files changed

+83
-16
lines changed

app/code/Magento/MediaContent/Model/UpdateRelations.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class UpdateRelations implements UpdateRelationsInterface
5858
*/
5959
public function __construct(
6060
ExtractAssetsFromContentInterface $extractAssetFromContent,
61-
UnassignAssetsInterface $assignAsset,
61+
AssignAssetsInterface $assignAsset,
6262
GetAssetIdsUsedInContentInterface $getAssetsUsedInContent,
6363
UnassignAssetsInterface $unassignAsset,
6464
LoggerInterface $logger

dev/tests/integration/testsuite/Magento/MediaContent/Model/ExtractAssetsFromContentTest.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function setUp(): void
3333
/**
3434
* Assing assets to content, retrieve the data, then unassign assets from content
3535
*
36-
* @magentoDataFixture Magento/MediaContent/_files/media_asset.php
36+
* @magentoDataFixture Magento/MediaGallery/_files/media_asset.php
3737
*
3838
* @dataProvider contentProvider
3939
* @param string $content
@@ -76,6 +76,12 @@ public function contentProvider()
7676
55
7777
]
7878
],
79+
'Relevant path content' => [
80+
'/media/testDirectory/path.jpg',
81+
[
82+
55
83+
]
84+
],
7985
'Irrelevant paths in content' => [
8086
'content {{media url="media/non-existing-path.png"}} content',
8187
[]
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*
6+
*/
7+
declare(strict_types=1);
8+
9+
namespace Magento\MediaContent\Model;
10+
11+
use Magento\MediaContentApi\Api\Data\ContentIdentityInterface;
12+
use Magento\MediaContentApi\Api\GetAssetIdsUsedInContentInterface;
13+
use Magento\MediaContentApi\Api\UpdateRelationsInterface;
14+
use Magento\TestFramework\Helper\Bootstrap;
15+
use PHPUnit\Framework\TestCase;
16+
17+
/**
18+
* Test for ExtractAssetsFromContent
19+
*/
20+
class UpdateRelationsTest extends TestCase
21+
{
22+
/**
23+
* @var UpdateRelationsInterface
24+
*/
25+
private $service;
26+
27+
/**
28+
* @var GetAssetIdsUsedInContentInterface
29+
*/
30+
private $getAssetIds;
31+
32+
/**
33+
* @inheritdoc
34+
*/
35+
public function setUp(): void
36+
{
37+
$this->service = Bootstrap::getObjectManager()->create(UpdateRelationsInterface::class);
38+
$this->getAssetIds = Bootstrap::getObjectManager()->create(GetAssetIdsUsedInContentInterface::class);
39+
}
40+
41+
/**
42+
* Assing assets to content, retrieve the data, then unassign assets from content
43+
*
44+
* @magentoDataFixture Magento/MediaGallery/_files/media_asset.php
45+
*/
46+
public function testExecute(): void
47+
{
48+
$entityType = 'catalog_product';
49+
$entityId = '42';
50+
$field = 'description';
51+
$contentWithoutAsset = '';
52+
$contentWithAsset = 'content {{media url="testDirectory/path.jpg"}} content';
53+
54+
$contentIdentity = Bootstrap::getObjectManager()->create(
55+
ContentIdentityInterface::class,
56+
[
57+
'data' => [
58+
'entity_type' => $entityType,
59+
'entity_id' => $entityId,
60+
'field' => $field
61+
]
62+
]
63+
);
64+
65+
$this->service->execute($contentIdentity, $contentWithoutAsset);
66+
$this->assertEmpty($this->getAssetIds->execute($contentIdentity));
67+
68+
$this->service->execute($contentIdentity, $contentWithAsset);
69+
$this->assertNotEmpty($this->getAssetIds->execute($contentIdentity));
70+
71+
$this->service->execute($contentIdentity, $contentWithoutAsset);
72+
$this->assertEmpty($this->getAssetIds->execute($contentIdentity));
73+
}
74+
}

dev/tests/integration/testsuite/Magento/MediaContent/_files/media_asset.php renamed to dev/tests/integration/testsuite/Magento/MediaGallery/_files/media_asset.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@
2525
);
2626
/** @var SaveInterface $saveAsset */
2727
$saveAsset = $objectManager->get(SaveInterface::class);
28-
$mediaId = $saveAsset->execute($mediaAsset);
28+
$saveAsset->execute($mediaAsset);

dev/tests/integration/testsuite/Magento/MediaContent/_files/media_asset_rollback.php renamed to dev/tests/integration/testsuite/Magento/MediaGallery/_files/media_asset_rollback.php

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,9 @@
66
declare(strict_types=1);
77

88
use Magento\AdobeStockAssetApi\Model\Asset\Command\DeleteByIdInterface;
9-
use Magento\MediaGalleryApi\Api\Data\AssetInterface;
10-
use Magento\MediaGalleryApi\Api\Data\AssetInterfaceFactory;
119
use Magento\TestFramework\Helper\Bootstrap;
1210

1311
$objectManager = Bootstrap::getObjectManager();
14-
/** @var AssetInterfaceFactory $mediaAssetFactory */
15-
$mediaAssetFactory = $objectManager->get(AssetInterfaceFactory::class);
16-
/** @var AssetInterface $mediaAsset */
17-
$mediaAsset = $mediaAssetFactory->create(
18-
[
19-
'data' => [
20-
'id' => 55,
21-
'path' => 'testDirectory/path.jpg'
22-
]
23-
]
24-
);
2512
/** @var DeleteByIdInterface $deleteMediaAsset */
2613
$deleteMediaAsset = $objectManager->get(DeleteByIdInterface::class);
2714
$deleteMediaAsset->execute(55);

0 commit comments

Comments
 (0)