Skip to content

Commit 5066a57

Browse files
author
Oleksandr Iegorov
committed
ACP2E-766: Error during Category import 'Integrity constraint violation: 1062 Duplicate entry'
1 parent 0d5f33d commit 5066a57

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest/ProductCategoriesTest.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
use Magento\Catalog\Model\Category;
1212
use Magento\CatalogImportExport\Model\Import\ProductTestBase;
1313
use Magento\Framework\App\Filesystem\DirectoryList;
14+
use Magento\Framework\Filesystem;
1415
use Magento\ImportExport\Model\Import;
16+
use Magento\ImportExport\Model\Import\Source\Csv;
17+
use Magento\TestFramework\Helper\Bootstrap;
1518

1619
/**
1720
* Integration test for \Magento\CatalogImportExport\Model\Import\Product class.
@@ -202,4 +205,24 @@ protected function loadCategoryByName($categoryName)
202205
$collection->addNameToResult()->load();
203206
return $collection->getItemByColumnValue('name', $categoryName);
204207
}
208+
209+
/**
210+
* @magentoDbIsolation disabled
211+
*/
212+
public function testCategoryNameValidation()
213+
{
214+
$csvFixture = 'import_categories_with_long_names.csv';
215+
$pathToFile = __DIR__ . '/../_files/' . $csvFixture;
216+
$filesystem = Bootstrap::getObjectManager()->create(Filesystem::class);
217+
218+
$directory = $filesystem->getDirectoryWrite(DirectoryList::ROOT);
219+
$source = $this->objectManager->create(
220+
Csv::class,
221+
['file' => $pathToFile, 'directory' => $directory]
222+
);
223+
$errors = $this->_model->setSource($source)->setParameters(
224+
['behavior' => Import::BEHAVIOR_ADD_UPDATE, 'entity' => 'catalog_product']
225+
)->validateData();
226+
$this->assertTrue($errors->getErrorsCount() === 1);
227+
}
205228
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
sku,store_view_code,attribute_set_code,product_type,categories,product_websites,name,description,short_description,weight,product_online,tax_class_name,visibility,price,special_price,special_price_from_date,special_price_to_date,url_key,meta_title,meta_keywords,meta_description,base_image,base_image_label,small_image,small_image_label,thumbnail_image,thumbnail_image_label,swatch_image,swatch_image_label,created_at,updated_at,new_from_date,new_to_date,display_product_options_in,map_price,msrp_price,map_enabled,gift_message_available,custom_design,custom_design_from,custom_design_to,custom_layout_update,page_layout,product_options_container,msrp_display_actual_price_type,country_of_manufacture,additional_attributes,qty,out_of_stock_qty,use_config_min_qty,is_qty_decimal,allow_backorders,use_config_backorders,min_cart_qty,use_config_min_sale_qty,max_cart_qty,use_config_max_sale_qty,is_in_stock,notify_on_stock_below,use_config_notify_stock_qty,manage_stock,use_config_manage_stock,use_config_qty_increments,qty_increments,use_config_enable_qty_inc,enable_qty_increments,is_decimal_divided,website_id,deferred_stock_update,use_config_deferred_stock_update,related_skus,related_position,crosssell_skus,crosssell_position,upsell_skus,upsell_position,additional_images,additional_image_labels,hide_from_product_page,custom_options,bundle_price_type,bundle_sku_type,bundle_price_view,bundle_weight_type,bundle_values,bundle_shipment_type,configurable_variations,configurable_variation_labels,giftcard_type,giftcard_allow_open_amount,giftcard_open_amount_min,giftcard_open_amount_max,giftcard_amount,use_config_is_redeemable,giftcard_is_redeemable,use_config_lifetime,giftcard_lifetime,use_config_allow_message,giftcard_allow_message,use_config_email_template,giftcard_email_template,associated_skus,downloadable_links,downloadable_samples
2+
test1,,Default,simple,"Default Category,Default Category/level2,Default Category/level2/level3longdummytexttodecreaseammountofsubcategoriestocreate,Default Category/level2/level3longdummytexttodecreaseammountofsubcategoriestocreate/level4longdummytexttodecreaseammountofsubcategoriestocreate,Default Category/level2/level3longdummytexttodecreaseammountofsubcategoriestocreate/level4longdummytexttodecreaseammountofsubcategoriestocreate/level5longdummytexttodecreaseammountofsubcategoriestocreate,Default Category/level2/level3longdummytexttodecreaseammountofsubcategoriestocreate/level4longdummytexttodecreaseammountofsubcategoriestocreate/level5longdummytexttodecreaseammountofsubcategoriestocreate/level6longdummytexttodecreaseammountofsubcategoriestocreate,Default Category/level2/level3longdummytexttodecreaseammountofsubcategoriestocreate/level4longdummytexttodecreaseammountofsubcategoriestocreate/level5longdummytexttodecreaseammountofsubcategoriestocreate/level6longdummytexttodecreaseammountofsubcategoriestocreate/level7longdummytexttodecreaseammountofsubcategoriestocreate",base,test 1,,,11,1,Taxable Goods,"Catalog, Search",100,,,,test-1,test 1,test 1,test 1 ,,,,,,,,,"4/26/22, 12:08 PM","4/26/22, 6:03 PM",,,Block after Info Column,,,,Use config,,,,,,,Use config,,gift_wrapping_available=Use config,1111,0,1,0,0,1,1,1,10000,1,1,1,1,1,1,1,1,1,0,0,0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

0 commit comments

Comments
 (0)