public function testUpdateDataWithCategoryColumnsNoCategoriesAssigned() { $dataRow = []; $productId = 1; $rowCategories = [$productId => []]; $this->assertTrue($this->_object->updateDataWithCategoryColumns($dataRow, $rowCategories, $productId)); }
/** * Verify that all stock item attribute values are exported (aren't equal to empty string) * * @covers \Magento\CatalogImportExport\Model\Export\Product::export * @magentoDataFixture Magento/CatalogImportExport/_files/product_export_data.php */ public function testExportStockItemAttributesAreFilled() { $filesystemMock = $this->getMock('Magento\\Framework\\Filesystem', [], [], '', false); $directoryMock = $this->getMock('Magento\\Framework\\Filesystem\\Directory\\Write', [], [], '', false); $filesystemMock->expects($this->once())->method('getDirectoryWrite')->will($this->returnValue($directoryMock)); $directoryMock->expects($this->any())->method('getParentDirectory')->will($this->returnValue('some#path')); $directoryMock->expects($this->any())->method('isWritable')->will($this->returnValue(true)); $directoryMock->expects($this->any())->method('isFile')->will($this->returnValue(true)); $directoryMock->expects($this->any())->method('readFile')->will($this->returnValue('some string read from file')); $exportAdapter = new \Magento\ImportExport\Model\Export\Adapter\Csv($filesystemMock); $this->_model->setWriter($exportAdapter)->export(); }
public function testExportCurPageEqualToLastBreakInternalCalls() { $curPage = $lastPage = $page = 1; $itemsPerPage = 10; $this->product->expects($this->once())->method('getWriter')->willReturn($this->writer); $this->product->expects($this->exactly(1))->method('_getEntityCollection')->willReturn($this->abstractCollection); $this->product->expects($this->once())->method('_prepareEntityCollection')->with($this->abstractCollection); $this->product->expects($this->once())->method('getItemsPerPage')->willReturn($itemsPerPage); $this->product->expects($this->once())->method('paginateCollection')->with($page, $itemsPerPage); $this->abstractCollection->expects($this->once())->method('setOrder')->with('has_options', 'asc'); $this->abstractCollection->expects($this->once())->method('setStoreId')->with(Store::DEFAULT_STORE_ID); $this->abstractCollection->expects($this->once())->method('count')->willReturn(1); $this->abstractCollection->expects($this->once())->method('getCurPage')->willReturn($curPage); $this->abstractCollection->expects($this->once())->method('getLastPageNumber')->willReturn($lastPage); $headers = ['headers']; $this->product->expects($this->once())->method('_getHeaderColumns')->willReturn($headers); $this->writer->expects($this->once())->method('setHeaderCols')->with($headers); $row = 'value'; $data = [$row]; $this->product->expects($this->once())->method('getExportData')->willReturn($data); $customFieldsMappingResult = ['result']; $this->product->expects($this->once())->method('_customFieldsMapping')->with($row)->willReturn($customFieldsMappingResult); $this->writer->expects($this->once())->method('writeRow')->with($customFieldsMappingResult); $this->writer->expects($this->once())->method('getContents'); $this->product->export(); }
/** * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate * @param \Magento\Eav\Model\Config $config * @param \Magento\Framework\App\ResourceConnection $resource * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Psr\Log\LoggerInterface $logger * @param \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $collectionFactory * @param \Magento\ImportExport\Model\Export\ConfigInterface $exportConfig * @param \Magento\Catalog\Model\ResourceModel\ProductFactory $productFactory * @param \Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory $attrSetColFactory * @param \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryColFactory * @param \Magento\CatalogInventory\Model\ResourceModel\Stock\ItemFactory $itemFactory * @param \Magento\Catalog\Model\ResourceModel\Product\Option\CollectionFactory $optionColFactory * @param \Magento\Catalog\Model\ResourceModel\Product\Attribute\CollectionFactory $attributeColFactory * @param \Magento\CatalogImportExport\Model\Export\Product\Type\Factory $_typeFactory * @param \Magento\Catalog\Model\Product\LinkTypeProvider $linkTypeProvider * @param \Magento\CatalogImportExport\Model\Export\RowCustomizerInterface $rowCustomizer * @param ImportProduct\StoreResolver $storeResolver * @param \Magento\Customer\Api\GroupRepositoryInterface $groupRepository * @throws \Magento\Framework\Exception\LocalizedException * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct(\Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Magento\Eav\Model\Config $config, \Magento\Framework\App\ResourceConnection $resource, \Magento\Store\Model\StoreManagerInterface $storeManager, \Psr\Log\LoggerInterface $logger, \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $collectionFactory, \Magento\ImportExport\Model\Export\ConfigInterface $exportConfig, \Magento\Catalog\Model\ResourceModel\ProductFactory $productFactory, \Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory $attrSetColFactory, \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryColFactory, \Magento\CatalogInventory\Model\ResourceModel\Stock\ItemFactory $itemFactory, \Magento\Catalog\Model\ResourceModel\Product\Option\CollectionFactory $optionColFactory, \Magento\Catalog\Model\ResourceModel\Product\Attribute\CollectionFactory $attributeColFactory, \Magento\CatalogImportExport\Model\Export\Product\Type\Factory $_typeFactory, \Magento\Catalog\Model\Product\LinkTypeProvider $linkTypeProvider, \Magento\CatalogImportExport\Model\Export\RowCustomizerInterface $rowCustomizer, \Magento\CatalogImportExport\Model\Import\Product\StoreResolver $storeResolver, \Magento\Customer\Api\GroupRepositoryInterface $groupRepository) { $this->_storeResolver = $storeResolver; $this->_groupRepository = $groupRepository; $this->_resource = $resource; parent::__construct($localeDate, $config, $resource, $storeManager, $logger, $collectionFactory, $exportConfig, $productFactory, $attrSetColFactory, $categoryColFactory, $itemFactory, $optionColFactory, $attributeColFactory, $_typeFactory, $linkTypeProvider, $rowCustomizer); }
/** * Update data row with information about categories. Return true, if data row was updated * * @param array $dataRow * @param array $rowCategories * @param int $productId * @return bool */ public function updateDataWithCategoryColumns(&$dataRow, &$rowCategories, $productId) { return parent::updateDataWithCategoryColumns($dataRow, $rowCategories, $productId); }