Skip to content

Commit 1ea4954

Browse files
author
Sergey Shvets
committed
MAGETWO-97345: [Magento Cloud] Import doesn't work with skip error entries
1 parent 84ea8d3 commit 1ea4954

File tree

1 file changed

+59
-55
lines changed

1 file changed

+59
-55
lines changed

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

Lines changed: 59 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
namespace Magento\CatalogImportExport\Test\Unit\Model\Import;
88

9+
use Magento\CatalogImportExport\Model\Import\Product;
910
use Magento\CatalogImportExport\Model\Import\Product\ImageTypeProcessor;
1011
use Magento\Framework\App\Filesystem\DirectoryList;
1112
use Magento\ImportExport\Model\Import;
12-
use PHPUnit\Framework\MockObject\MockObject;
1313

1414
/**
1515
* Class ProductTest
@@ -147,7 +147,7 @@ class ProductTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractI
147147
// @codingStandardsIgnoreEnd
148148
protected $taxClassProcessor;
149149

150-
/** @var \Magento\CatalogImportExport\Model\Import\Product */
150+
/** @var Product */
151151
protected $importProduct;
152152

153153
/**
@@ -345,7 +345,7 @@ protected function setUp()
345345
$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
346346

347347
$this->importProduct = $objectManager->getObject(
348-
\Magento\CatalogImportExport\Model\Import\Product::class,
348+
Product::class,
349349
[
350350
'jsonHelper' => $this->jsonHelper,
351351
'importExportData' => $this->importExportData,
@@ -387,7 +387,7 @@ protected function setUp()
387387
'imageTypeProcessor' => $this->imageTypeProcessor
388388
]
389389
);
390-
$reflection = new \ReflectionClass(\Magento\CatalogImportExport\Model\Import\Product::class);
390+
$reflection = new \ReflectionClass(Product::class);
391391
$reflectionProperty = $reflection->getProperty('metadataPool');
392392
$reflectionProperty->setAccessible(true);
393393
$reflectionProperty->setValue($this->importProduct, $metadataPoolMock);
@@ -629,7 +629,7 @@ public function testGetEmptyAttributeValueConstantFromParameters()
629629

630630
public function testDeleteProductsForReplacement()
631631
{
632-
$importProduct = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Product::class)
632+
$importProduct = $this->getMockBuilder(Product::class)
633633
->disableOriginalConstructor()
634634
->setMethods([
635635
'setParameters', '_deleteProducts'
@@ -695,7 +695,7 @@ public function testValidateRowIsAlreadyValidated()
695695
*/
696696
public function testValidateRow($rowScope, $oldSku, $expectedResult, $behaviour = Import::BEHAVIOR_DELETE)
697697
{
698-
$importProduct = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Product::class)
698+
$importProduct = $this->getMockBuilder(Product::class)
699699
->disableOriginalConstructor()
700700
->setMethods(['getBehavior', 'getRowScope', 'getErrorAggregator'])
701701
->getMock();
@@ -707,7 +707,7 @@ public function testValidateRow($rowScope, $oldSku, $expectedResult, $behaviour
707707
->method('getErrorAggregator')
708708
->willReturn($this->getErrorAggregatorObject());
709709
$importProduct->expects($this->once())->method('getRowScope')->willReturn($rowScope);
710-
$skuKey = \Magento\CatalogImportExport\Model\Import\Product::COL_SKU;
710+
$skuKey = Product::COL_SKU;
711711
$rowData = [
712712
$skuKey => 'sku',
713713
];
@@ -719,22 +719,22 @@ public function testValidateRow($rowScope, $oldSku, $expectedResult, $behaviour
719719

720720
public function testValidateRowDeleteBehaviourAddRowErrorCall()
721721
{
722-
$importProduct = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Product::class)
722+
$importProduct = $this->getMockBuilder(Product::class)
723723
->disableOriginalConstructor()
724724
->setMethods(['getBehavior', 'getRowScope', 'addRowError', 'getErrorAggregator'])
725725
->getMock();
726726

727727
$importProduct->expects($this->exactly(2))->method('getBehavior')
728728
->willReturn(\Magento\ImportExport\Model\Import::BEHAVIOR_DELETE);
729729
$importProduct->expects($this->once())->method('getRowScope')
730-
->willReturn(\Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT);
730+
->willReturn(Product::SCOPE_DEFAULT);
731731
$importProduct->expects($this->once())->method('addRowError');
732732
$importProduct->method('getErrorAggregator')
733733
->willReturn(
734734
$this->getErrorAggregatorObject(['addRowToSkip'])
735735
);
736736
$rowData = [
737-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => 'sku',
737+
Product::COL_SKU => 'sku',
738738
];
739739

740740
$importProduct->validateRow($rowData, 0);
@@ -745,7 +745,7 @@ public function testValidateRowValidatorCheck()
745745
$messages = ['validator message'];
746746
$this->validator->expects($this->once())->method('getMessages')->willReturn($messages);
747747
$rowData = [
748-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => 'sku',
748+
Product::COL_SKU => 'sku',
749749
];
750750
$rowNum = 0;
751751
$this->importProduct->validateRow($rowData, $rowNum);
@@ -847,7 +847,7 @@ public function getStoreIdByCodeDataProvider()
847847
return [
848848
[
849849
'$storeCode' => null,
850-
'$expectedResult' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT,
850+
'$expectedResult' => Product::SCOPE_DEFAULT,
851851
],
852852
[
853853
'$storeCode' => 'value',
@@ -868,8 +868,8 @@ public function testValidateRowCheckSpecifiedSku($sku, $expectedError)
868868

869869
$rowNum = 0;
870870
$rowData = [
871-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
872-
\Magento\CatalogImportExport\Model\Import\Product::COL_STORE => '',
871+
Product::COL_SKU => $sku,
872+
Product::COL_STORE => '',
873873
];
874874

875875
$this->storeResolver->method('getStoreCodeToId')->willReturn(null);
@@ -881,7 +881,7 @@ public function testValidateRowCheckSpecifiedSku($sku, $expectedError)
881881
$importProduct
882882
->expects($this->once())
883883
->method('getRowScope')
884-
->willReturn(\Magento\CatalogImportExport\Model\Import\Product::SCOPE_STORE);
884+
->willReturn(Product::SCOPE_STORE);
885885
$importProduct->expects($this->at(1))->method('addRowError')->with($expectedError, $rowNum)->willReturn(null);
886886

887887
$importProduct->validateRow($rowData, $rowNum);
@@ -895,7 +895,7 @@ public function testValidateRowProcessEntityIncrement()
895895
$errorAggregator->method('isRowInvalid')->willReturn(true);
896896
$this->setPropertyValue($this->importProduct, '_processedEntitiesCount', $count);
897897
$this->setPropertyValue($this->importProduct, 'errorAggregator', $errorAggregator);
898-
$rowData = [\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => false];
898+
$rowData = [Product::COL_SKU => false];
899899
//suppress validator
900900
$this->_setValidatorMockInImportProduct($this->importProduct);
901901
$this->importProduct->validateRow($rowData, $rowNum);
@@ -912,7 +912,7 @@ public function testValidateRowValidateExistingProductTypeAddNewSku()
912912
$sku = 'sku';
913913
$rowNum = 0;
914914
$rowData = [
915-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
915+
Product::COL_SKU => $sku,
916916
];
917917
$oldSku = [
918918
$sku => [
@@ -953,7 +953,7 @@ public function testValidateRowValidateExistingProductTypeAddErrorRowCall()
953953
$sku = 'sku';
954954
$rowNum = 0;
955955
$rowData = [
956-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
956+
Product::COL_SKU => $sku,
957957
];
958958
$oldSku = [
959959
$sku => [
@@ -978,27 +978,31 @@ public function testValidateRowValidateExistingProductTypeAddErrorRowCall()
978978

979979
/**
980980
* @dataProvider validateRowValidateNewProductTypeAddRowErrorCallDataProvider
981+
* @param string $colType
982+
* @param string $productTypeModelsColType
983+
* @param string $colAttrSet
984+
* @param string $attrSetNameToIdColAttrSet
985+
* @param string $error
981986
*/
982987
public function testValidateRowValidateNewProductTypeAddRowErrorCall(
983988
$colType,
984989
$productTypeModelsColType,
985990
$colAttrSet,
986991
$attrSetNameToIdColAttrSet,
987992
$error
988-
)
989-
{
993+
) {
990994
$sku = 'sku';
991995
$rowNum = 0;
992996
$rowData = [
993-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
994-
\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE => $colType,
995-
\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET => $colAttrSet,
997+
Product::COL_SKU => $sku,
998+
Product::COL_TYPE => $colType,
999+
Product::COL_ATTR_SET => $colAttrSet,
9961000
];
9971001
$_attrSetNameToId = [
998-
$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET] => $attrSetNameToIdColAttrSet,
1002+
$rowData[Product::COL_ATTR_SET] => $attrSetNameToIdColAttrSet,
9991003
];
10001004
$_productTypeModels = [
1001-
$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE] => $productTypeModelsColType,
1005+
$rowData[Product::COL_TYPE] => $productTypeModelsColType,
10021006
];
10031007
$oldSku = [
10041008
$sku => null,
@@ -1026,25 +1030,25 @@ public function testValidateRowValidateNewProductTypeGetNewSkuCall()
10261030
$sku = 'sku';
10271031
$rowNum = 0;
10281032
$rowData = [
1029-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
1030-
\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE => 'value',
1031-
\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET => 'value',
1033+
Product::COL_SKU => $sku,
1034+
Product::COL_TYPE => 'value',
1035+
Product::COL_ATTR_SET => 'value',
10321036
];
10331037
$_productTypeModels = [
1034-
$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE] => 'value',
1038+
$rowData[Product::COL_TYPE] => 'value',
10351039
];
10361040
$oldSku = [
10371041
$sku => null,
10381042
];
10391043
$_attrSetNameToId = [
1040-
$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET] => 'attr_set_code_val'
1044+
$rowData[Product::COL_ATTR_SET] => 'attr_set_code_val'
10411045
];
10421046
$expectedData = [
10431047
'entity_id' => null,
1044-
'type_id' => $rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_TYPE],//value
1048+
'type_id' => $rowData[Product::COL_TYPE],//value
10451049
//attr_set_id_val
1046-
'attr_set_id' => $_attrSetNameToId[$rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET]],
1047-
'attr_set_code' => $rowData[\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET],//value
1050+
'attr_set_id' => $_attrSetNameToId[$rowData[Product::COL_ATTR_SET]],
1051+
'attr_set_code' => $rowData[Product::COL_ATTR_SET],//value
10481052
'row_id' => null
10491053
];
10501054
$importProduct = $this->createModelMockWithErrorAggregator(
@@ -1080,17 +1084,17 @@ public function testValidateRowSetAttributeSetCodeIntoRowData()
10801084
$sku = 'sku';
10811085
$rowNum = 0;
10821086
$rowData = [
1083-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
1084-
\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET => 'col_attr_set_val',
1087+
Product::COL_SKU => $sku,
1088+
Product::COL_ATTR_SET => 'col_attr_set_val',
10851089
];
10861090
$expectedAttrSetCode = 'new_attr_set_code';
10871091
$newSku = [
10881092
'attr_set_code' => $expectedAttrSetCode,
10891093
'type_id' => 'new_type_id_val',
10901094
];
10911095
$expectedRowData = [
1092-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
1093-
\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET => $newSku['attr_set_code'],
1096+
Product::COL_SKU => $sku,
1097+
Product::COL_ATTR_SET => $newSku['attr_set_code'],
10941098
];
10951099
$oldSku = [
10961100
$sku => [
@@ -1124,8 +1128,8 @@ public function testValidateValidateOptionEntity()
11241128
$sku = 'sku';
11251129
$rowNum = 0;
11261130
$rowData = [
1127-
\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => $sku,
1128-
\Magento\CatalogImportExport\Model\Import\Product::COL_ATTR_SET => 'col_attr_set_val',
1131+
Product::COL_SKU => $sku,
1132+
Product::COL_ATTR_SET => 'col_attr_set_val',
11291133
];
11301134
$oldSku = [
11311135
$sku => [
@@ -1377,7 +1381,7 @@ public function validateRowDataProvider()
13771381
{
13781382
return [
13791383
[
1380-
'$rowScope' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT,
1384+
'$rowScope' => Product::SCOPE_DEFAULT,
13811385
'$oldSku' => null,
13821386
'$expectedResult' => false,
13831387
],
@@ -1392,12 +1396,12 @@ public function validateRowDataProvider()
13921396
'$expectedResult' => true,
13931397
],
13941398
[
1395-
'$rowScope' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT,
1399+
'$rowScope' => Product::SCOPE_DEFAULT,
13961400
'$oldSku' => true,
13971401
'$expectedResult' => true,
13981402
],
13991403
[
1400-
'$rowScope' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT,
1404+
'$rowScope' => Product::SCOPE_DEFAULT,
14011405
'$oldSku' => null,
14021406
'$expectedResult' => false,
14031407
'$behaviour' => Import::BEHAVIOR_REPLACE
@@ -1418,7 +1422,7 @@ public function isAttributeValidAssertAttrValidDataProvider()
14181422
'$rowData' => [
14191423
'code' => str_repeat(
14201424
'a',
1421-
\Magento\CatalogImportExport\Model\Import\Product::DB_MAX_VARCHAR_LENGTH - 1
1425+
Product::DB_MAX_VARCHAR_LENGTH - 1
14221426
),
14231427
],
14241428
],
@@ -1471,7 +1475,7 @@ public function isAttributeValidAssertAttrValidDataProvider()
14711475
'$rowData' => [
14721476
'code' => str_repeat(
14731477
'a',
1474-
\Magento\CatalogImportExport\Model\Import\Product::DB_MAX_TEXT_LENGTH - 1
1478+
Product::DB_MAX_TEXT_LENGTH - 1
14751479
),
14761480
],
14771481
],
@@ -1491,7 +1495,7 @@ public function isAttributeValidAssertAttrInvalidDataProvider()
14911495
'$rowData' => [
14921496
'code' => str_repeat(
14931497
'a',
1494-
\Magento\CatalogImportExport\Model\Import\Product::DB_MAX_VARCHAR_LENGTH + 1
1498+
Product::DB_MAX_VARCHAR_LENGTH + 1
14951499
),
14961500
],
14971501
],
@@ -1544,7 +1548,7 @@ public function isAttributeValidAssertAttrInvalidDataProvider()
15441548
'$rowData' => [
15451549
'code' => str_repeat(
15461550
'a',
1547-
\Magento\CatalogImportExport\Model\Import\Product::DB_MAX_TEXT_LENGTH + 1
1551+
Product::DB_MAX_TEXT_LENGTH + 1
15481552
),
15491553
],
15501554
],
@@ -1556,30 +1560,30 @@ public function isAttributeValidAssertAttrInvalidDataProvider()
15561560
*/
15571561
public function getRowScopeDataProvider()
15581562
{
1559-
$colSku = \Magento\CatalogImportExport\Model\Import\Product::COL_SKU;
1560-
$colStore = \Magento\CatalogImportExport\Model\Import\Product::COL_STORE;
1563+
$colSku = Product::COL_SKU;
1564+
$colStore = Product::COL_STORE;
15611565

15621566
return [
15631567
[
15641568
'$rowData' => [
15651569
$colSku => null,
15661570
$colStore => 'store',
15671571
],
1568-
'$expectedResult' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_STORE
1572+
'$expectedResult' => Product::SCOPE_STORE
15691573
],
15701574
[
15711575
'$rowData' => [
15721576
$colSku => 'sku',
15731577
$colStore => null,
15741578
],
1575-
'$expectedResult' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT
1579+
'$expectedResult' => Product::SCOPE_DEFAULT
15761580
],
15771581
[
15781582
'$rowData' => [
15791583
$colSku => 'sku',
15801584
$colStore => 'store',
15811585
],
1582-
'$expectedResult' => \Magento\CatalogImportExport\Model\Import\Product::SCOPE_STORE
1586+
'$expectedResult' => Product::SCOPE_STORE
15831587
],
15841588
];
15851589
}
@@ -1656,7 +1660,7 @@ protected function overrideMethod(&$object, $methodName, array $parameters = [])
16561660
*
16571661
* @see _rewriteGetOptionEntityInImportProduct()
16581662
* @see _setValidatorMockInImportProduct()
1659-
* @param \Magento\CatalogImportExport\Model\Import\Product
1663+
* @param Product
16601664
* Param should go with rewritten getOptionEntity method.
16611665
* @return \Magento\CatalogImportExport\Model\Import\Product\Option|\PHPUnit_Framework_MockObject_MockObject
16621666
*/
@@ -1674,7 +1678,7 @@ private function _suppressValidateRowOptionValidatorInvalidRows($importProduct)
16741678
* Used in group of validateRow method's tests.
16751679
* Set validator mock in importProduct, return true for isValid method.
16761680
*
1677-
* @param \Magento\CatalogImportExport\Model\Import\Product
1681+
* @param Product
16781682
* @return \Magento\CatalogImportExport\Model\Import\Product\Validator|\PHPUnit_Framework_MockObject_MockObject
16791683
*/
16801684
private function _setValidatorMockInImportProduct($importProduct)
@@ -1689,7 +1693,7 @@ private function _setValidatorMockInImportProduct($importProduct)
16891693
* Used in group of validateRow method's tests.
16901694
* Make getOptionEntity return option mock.
16911695
*
1692-
* @param \Magento\CatalogImportExport\Model\Import\Product
1696+
* @param Product
16931697
* Param should go with rewritten getOptionEntity method.
16941698
* @return \Magento\CatalogImportExport\Model\Import\Product\Option|\PHPUnit_Framework_MockObject_MockObject
16951699
*/
@@ -1711,7 +1715,7 @@ private function _rewriteGetOptionEntityInImportProduct($importProduct)
17111715
protected function createModelMockWithErrorAggregator(array $methods = [], array $errorAggregatorMethods = [])
17121716
{
17131717
$methods[] = 'getErrorAggregator';
1714-
$importProduct = $this->getMockBuilder(\Magento\CatalogImportExport\Model\Import\Product::class)
1718+
$importProduct = $this->getMockBuilder(Product::class)
17151719
->disableOriginalConstructor()
17161720
->setMethods($methods)
17171721
->getMock();

0 commit comments

Comments
 (0)