/**
  * @dataProvider filterProvider
  */
 public function testAddInStockFilterToCollection($configMock)
 {
     $collectionMock = $this->getMockBuilder('Magento\\Catalog\\Model\\ResourceModel\\Product\\Link\\Product\\Collection')->disableOriginalConstructor()->getMock();
     $collectionMock->expects($this->any())->method('joinField');
     $this->scopeConfigMock->expects($this->any())->method('getValue')->willReturn($configMock);
     $this->assertNull($this->stock->addInStockFilterToCollection($collectionMock));
 }
Example #2
0
 /**
  * @param Link $subject
  * @param Collection $collection
  * @return Collection
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function afterGetProductCollection(Link $subject, Collection $collection)
 {
     if ($this->configuration->isShowOutOfStock() != 1) {
         $this->stockHelper->addInStockFilterToCollection($collection);
     }
     return $collection;
 }
Example #3
0
 /**
  * Get crosssell products collection
  *
  * @return \Magento\Catalog\Model\Resource\Product\Link\Product\Collection
  */
 protected function _getCollection()
 {
     /** @var \Magento\Catalog\Model\Resource\Product\Link\Product\Collection $collection */
     $collection = $this->_productLinkFactory->create()->useCrossSellLinks()->getProductCollection()->setStoreId($this->_storeManager->getStore()->getId())->addStoreFilter()->setPageSize($this->_maxItemCount)->setVisibility($this->_productVisibility->getVisibleInCatalogIds());
     $this->_addProductAttributesAndPrices($collection);
     $this->stockHelper->addInStockFilterToCollection($collection);
     return $collection;
 }
Example #4
0
 /**
  * Retrieve linked product collection
  *
  * @return ProductCollection
  */
 public function getProductCollection()
 {
     $collection = $this->_productCollectionFactory->create()->setLinkModel($this);
     $this->stockHelper->addInStockFilterToCollection($collection);
     return $collection;
 }