Skip to content

Commit 10bd41f

Browse files
committed
magento/adobe-stock-integration#1504: Extracted logic from wysiwyg OnInsert controller to a model - PR suggestions and Adjustments on Integration test
1 parent 45849cc commit 10bd41f

File tree

3 files changed

+45
-44
lines changed

3 files changed

+45
-44
lines changed

app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/OnInsert.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,20 @@ public function execute()
4545
{
4646
$data = $this->getRequest()->getParams();
4747

48+
$fileName = $data['filename'];
49+
$forceStaticPath = $data['force_static_path'];
50+
$renderAsTag = $data['as_is'];
51+
$storeId = isset($data['store_id']) ? (int) $data['store_id'] : null;
52+
4853
/** @var \Magento\Framework\Controller\Result\Raw $resultRaw */
4954
$resultRaw = $this->resultRawFactory->create();
5055

5156
return $resultRaw->setContents(
5257
$this->getInsertImageContent->execute(
53-
$data['filename'],
54-
$data['force_static_path'],
55-
$data['as_is'],
56-
isset($data['store_id']) ? (int) $data['store_id'] : null
58+
$fileName,
59+
$forceStaticPath,
60+
$renderAsTag,
61+
$storeId
5762
)
5863
);
5964
}

app/code/Magento/Cms/Model/Wysiwyg/Images/GetInsertImageContent.php

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
namespace Magento\Cms\Model\Wysiwyg\Images;
1010

11-
use Magento\Catalog\Helper\Data;
1211
use Magento\Cms\Helper\Wysiwyg\Images as ImagesHelper;
1312

1413
class GetInsertImageContent
@@ -18,23 +17,14 @@ class GetInsertImageContent
1817
*/
1918
private $imagesHelper;
2019

21-
/**
22-
* @var Data
23-
*/
24-
private $catalogHelper;
25-
2620
/**
2721
* PrepareImage constructor.
2822
*
2923
* @param ImagesHelper $imagesHelper
30-
* @param Data $catalogHelper
3124
*/
32-
public function __construct(
33-
ImagesHelper $imagesHelper,
34-
Data $catalogHelper
35-
) {
25+
public function __construct(ImagesHelper $imagesHelper)
26+
{
3627
$this->imagesHelper = $imagesHelper;
37-
$this->catalogHelper = $catalogHelper;
3828
}
3929

4030
/**
@@ -54,7 +44,6 @@ public function execute(
5444
): string {
5545
$filename = $this->imagesHelper->idDecode($encodedFilename);
5646

57-
$this->catalogHelper->setStoreId($storeId);
5847
$this->imagesHelper->setStoreId($storeId);
5948

6049
if ($forceStaticPath) {

app/code/Magento/Cms/Test/Integration/Model/Wysiwyg/Images/GetInsertImageContentTest.php

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88

99
namespace Magento\Cms\Test\Integration\Model\Wysiwyg\Images;
1010

11+
use Magento\Backend\Helper\Data as BackendHelper;
1112
use Magento\Cms\Helper\Wysiwyg\Images as ImagesHelper;
1213
use Magento\Cms\Model\Wysiwyg\Images\GetInsertImageContent;
14+
use Magento\Framework\Url\EncoderInterface;
1315
use Magento\TestFramework\Helper\Bootstrap;
1416
use PHPUnit\Framework\TestCase;
1517

@@ -27,13 +29,25 @@ class GetInsertImageContentTest extends TestCase
2729
*/
2830
private $imagesHelper;
2931

32+
/**
33+
* @var EncoderInterface
34+
*/
35+
private $urlEncoder;
36+
37+
/**
38+
* @var BackendHelper
39+
*/
40+
protected $_backendData;
41+
3042
/**
3143
* @inheritdoc
3244
*/
3345
protected function setUp(): void
3446
{
3547
$this->getInsertImageContent = Bootstrap::getObjectManager()->get(GetInsertImageContent::class);
3648
$this->imagesHelper = Bootstrap::getObjectManager()->get(ImagesHelper::class);
49+
$this->urlEncoder = Bootstrap::getObjectManager()->get(EncoderInterface::class);
50+
$this->_backendData = Bootstrap::getObjectManager()->get(BackendHelper::class);
3751
}
3852

3953
/**
@@ -44,12 +58,14 @@ protected function setUp(): void
4458
* @param bool $forceStaticPath
4559
* @param bool $renderAsTag
4660
* @param int|null $storeId
61+
* @param string|null $expectedResult
4762
*/
4863
public function testExecute(
4964
string $encodedFilename,
5065
bool $forceStaticPath,
5166
bool $renderAsTag,
52-
?int $storeId = null
67+
?int $storeId = null,
68+
?string $expectedResult = null
5369
): void {
5470
$getImageForInsert = $this->getInsertImageContent->execute(
5571
$encodedFilename,
@@ -58,35 +74,21 @@ public function testExecute(
5874
$storeId
5975
);
6076

61-
if (!$forceStaticPath) {
62-
if ($renderAsTag) {
63-
$html = $this->imagesHelper->getImageHtmlDeclaration(
64-
self::TEST_IMAGE_FILE,
65-
true
66-
);
67-
$this->assertEquals(
68-
$getImageForInsert,
69-
$html
70-
);
71-
} else {
72-
$html = $this->imagesHelper->getImageHtmlDeclaration(
73-
self::TEST_IMAGE_FILE,
74-
false
75-
);
76-
$this->assertEquals(
77-
$getImageForInsert,
78-
$html
77+
if (!$forceStaticPath && !$renderAsTag) {
78+
if (!$this->imagesHelper->isUsingStaticUrlsAllowed()) {
79+
80+
$encodedDirective = $this->urlEncoder->encode($expectedResult);
81+
$expectedResult = $this->_backendData->getUrl(
82+
'cms/wysiwyg/directive',
83+
[
84+
'___directive' => $encodedDirective,
85+
'_escape_params' => false,
86+
]
7987
);
8088
}
81-
} else {
82-
$this->assertEquals(
83-
$getImageForInsert,
84-
parse_url(
85-
$this->imagesHelper->getCurrentUrl() . self::TEST_IMAGE_FILE,
86-
PHP_URL_PATH
87-
)
88-
);
8989
}
90+
91+
$this->assertEquals($getImageForInsert, $expectedResult);
9092
}
9193

9294
/**
@@ -102,30 +104,35 @@ public function imageDataProvider(): array
102104
false,
103105
true,
104106
1,
107+
'<img src="{{media url=&quot;' . self::TEST_IMAGE_FILE . '&quot;}}" alt="" />'
105108
],
106109
[
107110
'L3Rlc3QtaW1hZ2UuanBn',
108111
true,
109112
false,
110113
1,
114+
'/pub/media/' . self::TEST_IMAGE_FILE
111115
],
112116
[
113117
'L3Rlc3QtaW1hZ2UuanBn',
114118
false,
115119
false,
116120
1,
121+
'{{media url="' . self::TEST_IMAGE_FILE . '"}}'
117122
],
118123
[
119124
'L3Rlc3QtaW1hZ2UuanBn',
120125
false,
121126
true,
122127
2,
128+
'<img src="{{media url=&quot;' . self::TEST_IMAGE_FILE . '&quot;}}" alt="" />'
123129
],
124130
[
125131
'L3Rlc3QtaW1hZ2UuanBn',
126132
false,
127133
true,
128134
null,
135+
'<img src="{{media url=&quot;' . self::TEST_IMAGE_FILE . '&quot;}}" alt="" />'
129136
],
130137
];
131138
}

0 commit comments

Comments
 (0)