Skip to content

Commit 00f46ce

Browse files
committed
MAGETWO-67240: Duplicate and broken products appear after import
1 parent 27d7f5d commit 00f46ce

File tree

1 file changed

+1
-139
lines changed

1 file changed

+1
-139
lines changed

app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php

Lines changed: 1 addition & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -967,44 +967,6 @@ public function testValidateRowValidateExistingProductTypeAddErrorRowCall()
967967
$importProduct->validateRow($rowData, $rowNum);
968968
}
969969

970-
public function testValidateRowValidateExistingProductTypeResetSku()
971-
{
972-
$sku = 'sku';
973-
$rowNum = 0;
974-
$rowData = [
975-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
976-
];
977-
$oldSku = [
978-
$sku => [
979-
'type_id' => 'type_id_val',
980-
],
981-
];
982-
$importProduct = $this->createModelMockWithErrorAggregator(['getOptionEntity']);
983-
984-
$this->setPropertyValue($importProduct, '_oldSku', $oldSku);
985-
986-
//suppress option validation
987-
$this->_rewriteGetOptionEntityInImportProduct($importProduct);
988-
//suppress validator
989-
$this->_setValidatorMockInImportProduct($importProduct);
990-
991-
$expectedSku = false;
992-
$newSku = [
993-
'attr_set_code' => 'new_attr_set_code',
994-
'type_id' => 'new_type_id_val',
995-
];
996-
$this->skuProcessor->expects($this->once())->method('getNewSku')->with($expectedSku)->willReturn($newSku);
997-
$this->setPropertyValue($importProduct, 'skuProcessor', $this->skuProcessor);
998-
$productType = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType::class)
999-
->disableOriginalConstructor()
1000-
->getMock();
1001-
$this->setPropertyValue($importProduct, '_productTypeModels', [
1002-
$newSku['type_id'] => $productType
1003-
]);
1004-
1005-
$importProduct->validateRow($rowData, $rowNum);
1006-
}
1007-
1008970
/**
1009971
* @dataProvider validateRowValidateNewProductTypeAddRowErrorCallDataProvider
1010972
*/
@@ -1094,113 +1056,13 @@ public function testValidateRowValidateNewProductTypeGetNewSkuCall()
10941056
$importProduct->validateRow($rowData, $rowNum);
10951057
}
10961058

1097-
public function testValidateRowValidateNewProductTypeResetSku()
1098-
{
1099-
$sku = 'sku';
1100-
$rowNum = 0;
1101-
$rowData = [
1102-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
1103-
\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE => 'value',
1104-
\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET => 'value',
1105-
];
1106-
1107-
$oldSku = [
1108-
$sku => [
1109-
'type_id' => 'type_id_val',
1110-
],
1111-
];
1112-
$_productTypeModels = [
1113-
$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE] => 'value',
1114-
];
1115-
$_attrSetNameToId = [
1116-
$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET] => 'attr_set_code_val'
1117-
];
1118-
1119-
$importProduct = $this->createModelMockWithErrorAggregator(
1120-
['addRowError', 'getOptionEntity'],
1121-
['isRowInvalid' => false]
1122-
);
1123-
1124-
$this->setPropertyValue($importProduct, '_oldSku', $oldSku);
1125-
$this->setPropertyValue($importProduct, '_productTypeModels', $_productTypeModels);
1126-
$this->setPropertyValue($importProduct, '_attrSetNameToId', $_attrSetNameToId);
1127-
1128-
$this->_rewriteGetOptionEntityInImportProduct($importProduct);//suppress option validation
1129-
$this->_setValidatorMockInImportProduct($importProduct);//suppress validator
1130-
1131-
$expectedSku = false;
1132-
$newSku = [
1133-
'attr_set_code' => 'new_attr_set_code',
1134-
'type_id' => 'new_type_id_val',
1135-
];
1136-
$this->skuProcessor->expects($this->once())->method('getNewSku')->with($expectedSku)->willReturn($newSku);
1137-
$this->setPropertyValue($importProduct, 'skuProcessor', $this->skuProcessor);
1138-
$productType = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType::class)
1139-
->disableOriginalConstructor()
1140-
->getMock();
1141-
$this->setPropertyValue($importProduct, '_productTypeModels', [
1142-
$newSku['type_id'] => $productType
1143-
]);
1144-
1145-
$importProduct->validateRow($rowData, $rowNum);
1146-
}
1147-
11481059
public function testValidateDefaultScopeNotValidAttributesResetSku()
11491060
{
1150-
$sku = 'sku';
1151-
$rowNum = 0;
1152-
$attrCode = 'code';
1153-
$stringUtilsMock = $this->getMockBuilder(\Magento\Framework\Stdlib\StringUtils::class)
1154-
->setMethods(null)
1155-
->getMock();
1156-
$this->setPropertyValue($this->importProduct, 'string', $stringUtilsMock);
1157-
1158-
$scopeMock = $this->getMock(
1159-
\Magento\CatalogImportExport\Model\Import\Product::class,
1160-
['getRowScope'],
1161-
[],
1162-
'',
1163-
false
1164-
);
1165-
1166-
$colStore = \Magento\CatalogImportExport\Model\Import\Product::COL_STORE;
1167-
$scopeRowData = [
1168-
$sku => 'sku',
1169-
$colStore => null,
1170-
];
1171-
$scopeResult = \Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT;
1172-
$scopeMock->expects($this->any())->method('getRowScope')->with($scopeRowData)->willReturn($scopeResult);
1173-
$oldSku = [
1174-
$sku => [
1175-
'type_id' => 'type_id_val',
1176-
],
1177-
];
1178-
1179-
$this->setPropertyValue($this->importProduct, '_oldSku', $oldSku);
1180-
1181-
$expectedSku = false;
1182-
$newSku = [
1183-
'attr_set_code' => 'new_attr_set_code',
1184-
'type_id' => 'new_type_id_val',
1185-
];
1186-
$this->skuProcessor->expects($this->any())->method('getNewSku')->with($expectedSku)->willReturn($newSku);
1187-
$this->setPropertyValue($this->importProduct, 'skuProcessor', $this->skuProcessor);
1188-
1189-
$attrParams = [
1190-
'type' => 'varchar',
1191-
];
1192-
$attrRowData = [
1193-
'code' => str_repeat(
1194-
'a',
1195-
\Magento\CatalogImportExport\Model\Import\Product::DB_MAX_VARCHAR_LENGTH + 1
1196-
),
1197-
];
1198-
11991061
$this->validator->expects($this->once())->method('isAttributeValid')->willReturn(false);
12001062
$messages = ['validator message'];
12011063
$this->validator->expects($this->once())->method('getMessages')->willReturn($messages);
12021064

1203-
$result = $this->importProduct->isAttributeValid($attrCode, $attrParams, $attrRowData, $rowNum);
1065+
$result = $this->importProduct->isAttributeValid('code', ['attribute params'], ['row data'], 1);
12041066
$this->assertFalse($result);
12051067
}
12061068

0 commit comments

Comments
 (0)