Example #1
0
 public function testUpdateDataWithCategoryColumnsNoCategoriesAssigned()
 {
     $dataRow = [];
     $productId = 1;
     $rowCategories = [$productId => []];
     $this->assertTrue($this->_object->updateDataWithCategoryColumns($dataRow, $rowCategories, $productId));
 }
Example #2
0
 /**
  * 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();
 }
Example #3
0
 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);
 }
Example #5
0
 /**
  * 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);
 }