diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product.php b/app/code/Magento/CatalogImportExport/Model/Import/Product.php index ce62414411d3f4c2463b9cc2affecbb7e2d15906..415ec8bd0072491aef33fecc72f85cd2640b221e 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product.php @@ -1162,7 +1162,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity foreach ($skuData as $sku => $attributes) { $linkId = $this->_connection->fetchOne( $this->_connection->select() - ->from($this->_resource->getTable('catalog_product_entity')) + ->from($this->getResource()->getTable('catalog_product_entity')) ->where('sku = ?', $sku) ->columns($metadata->getLinkField()) ); diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php index fd2d6e9fb4646e67cb7e688253fed3178812d417..ae443adc9b5872ed9d41704cdc08c807ab5f3e8f 100644 --- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php +++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php @@ -527,10 +527,28 @@ class ProductTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractI ] ] ]; - $this->skuProcessor->expects($this->once()) - ->method('getNewSku') - ->with($testSku) - ->willReturn(['entity_id' => self::ENTITY_ID]); + $metadataMock = $this->getMockBuilder('\Magento\Framework\Model\Entity\EntityMetadata') + ->disableOriginalConstructor() + ->getMock(); + $this->metadataPool->expects($this->any())->method('getMetadata') + ->with(\Magento\Catalog\Api\Data\ProductInterface::class) + ->willReturn($metadataMock); + $metadataMock->expects($this->any())->method('getLinkField')->willReturn('entity_id'); + $entityTable = 'catalog_product_entity'; + $resource = $this->getMockBuilder('\Magento\CatalogImportExport\Model\Import\Proxy\Product\ResourceModel') + ->disableOriginalConstructor() + ->setMethods(['getTable']) + ->getMock(); + $resource->expects($this->once())->method('getTable')->with($entityTable)->willReturnArgument(0); + $this->_resourceFactory->expects($this->once())->method('create')->willReturn($resource); + $selectMock = $this->getMockBuilder('Magento\Framework\DB\Select') + ->disableOriginalConstructor() + ->getMock(); + $selectMock->expects($this->once())->method('from')->with($entityTable, '*', null)->willReturnSelf(); + $selectMock->expects($this->once())->method('where')->with('sku = ?', $testSku)->willReturnSelf(); + $selectMock->expects($this->once())->method('columns')->with('entity_id')->willReturnSelf(); + $this->_connection->expects($this->any())->method('fetchOne')->willReturn(self::ENTITY_ID); + $this->_connection->expects($this->any())->method('select')->willReturn($selectMock); $this->_connection->expects($this->any()) ->method('quoteInto') ->willReturnCallback([$this, 'returnQuoteCallback']);