Skip to content

Commit eb4cd76

Browse files
Chhandak.Baruadevarul
authored andcommitted
ACP2E-1377: HTML tags removed in Page Builder editor after Product Import
1 parent c33fc17 commit eb4cd76

File tree

2 files changed

+65
-2
lines changed

2 files changed

+65
-2
lines changed

dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Export/ProductTest.php

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,31 @@ public function testExport(): void
135135
$this->assertStringContainsString('test_option_code_2', $exportData);
136136
$this->assertStringContainsString('max_characters=10', $exportData);
137137
$this->assertStringContainsString('text_attribute=!@#$%^&*()_+1234567890-=|\\:;""\'<,>.?/', $exportData);
138-
$occurrencesCount = substr_count($exportData, 'Hello "" &"" Bring the water bottle when you can!');
139-
$this->assertEquals(0, $occurrencesCount);
138+
$occurrencesCount = substr_count($exportData, 'Hello "" &amp;"" Bring the water bottle when you can!');
139+
$this->assertEquals(1, $occurrencesCount);
140+
}
141+
142+
/**
143+
* Verify successful export of product
144+
*
145+
* @magentoDataFixture Magento/CatalogImportExport/_files/product_export_data_special_chars.php
146+
* @magentoDbIsolation enabled
147+
*
148+
* @return void
149+
*/
150+
public function testExportBehaviour(): void
151+
{
152+
$this->model->setWriter(
153+
$this->objectManager->create(
154+
\Magento\ImportExport\Model\Export\Adapter\Csv::class
155+
)
156+
);
157+
$exportData = $this->model->export();
158+
$this->assertStringContainsString('New Product', $exportData);
159+
$this->assertStringContainsString('Description with &lt;h2&gt;this is my page14454&lt;/h2&gt;', $exportData);
160+
161+
$occurrencesCount = substr_count($exportData, 'Description with &lt;h2&gt;this is my page14454&lt;/h2&gt;');
162+
$this->assertEquals(1, $occurrencesCount);
140163
}
141164

142165
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
7+
8+
/** Create category */
9+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/category.php');
10+
/** Create category with special chars */
11+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/catalog_category_with_slash.php');
12+
/** Create fixture store */
13+
Resolver::getInstance()->requireDataFixture('Magento/Store/_files/second_store.php');
14+
/** Create product with multiselect attribute and values */
15+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/products_with_multiselect_attribute.php');
16+
/** Create dummy text attribute */
17+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_text_attribute.php');
18+
19+
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
20+
21+
/** @var \Magento\Catalog\Model\Product $productModel */
22+
$productModel = $objectManager->create(\Magento\Catalog\Model\Product::class);
23+
24+
$productModel->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE)
25+
->setId(1)
26+
->setAttributeSetId(4)
27+
->setName('New Product')
28+
->setSku('simple &quot;1&quot;')
29+
->setPrice(10)
30+
->setDescription('Description with &lt;h2&gt;this is test page&lt;/h2&gt;')
31+
->addData(['text_attribute' => '!@#$%^&*()_+1234567890-=|\\:;"\'<,>.?/›ƒª'])
32+
->setTierPrice([0 => ['website_id' => 0, 'cust_group' => 0, 'price_qty' => 3, 'price' => 8]])
33+
->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
34+
->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
35+
->setWebsiteIds([1])
36+
->setStockData(['qty' => 100, 'is_in_stock' => 1, 'manage_stock' => 1])
37+
->setCanSaveCustomOptions(true)
38+
->setCategoryIds([333, 3331]);
39+
40+
$productModel->setOptions([])->save();

0 commit comments

Comments
 (0)