/** * @param ImportProduct $import * @return void */ protected function clearProductUrls(ImportProduct $import) { $oldSku = $import->getOldSku(); while ($bunch = $import->getNextBunch()) { $idToDelete = []; foreach ($bunch as $rowNum => $rowData) { if ($import->validateRow($rowData, $rowNum) && ImportProduct::SCOPE_DEFAULT == $import->getRowScope($rowData)) { $idToDelete[] = $oldSku[$rowData[ImportProduct::COL_SKU]]['entity_id']; } } foreach ($idToDelete as $productId) { $this->urlPersist->deleteByData([UrlRewrite::ENTITY_ID => $productId, UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE]); } } }
public function testValidateRowProcessEntityIncrement() { $count = 0; $rowNum = 0; $errorAggregator = $this->getErrorAggregatorObject(['isRowInvalid']); $errorAggregator->method('isRowInvalid')->willReturn(true); $this->setPropertyValue($this->importProduct, '_processedEntitiesCount', $count); $this->setPropertyValue($this->importProduct, 'errorAggregator', $errorAggregator); $rowData = [\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => false]; //suppress validator $this->_setValidatorMockInImportProduct($this->importProduct); $this->importProduct->validateRow($rowData, $rowNum); $this->assertEquals(++$count, $this->importProduct->getProcessedEntitiesCount()); }
public function testValidateRowProcessEntityIncrement() { $count = 0; $rowNum = 0; $this->setPropertyValue($this->importProduct, '_processedEntitiesCount', $count); $rowData = [\Magento\CatalogImportExport\Model\Import\Product::COL_SKU => '']; //suppress validator $this->_setValidatorMockInImportProduct($this->importProduct); $this->importProduct->validateRow($rowData, $rowNum); $this->assertEquals(++$count, $this->importProduct->getProcessedEntitiesCount()); }