示例#1
0
 /**
  * Before prepare product collection handler
  *
  * @param \Magento\Catalog\Model\Layer $subject
  * @param \Magento\Catalog\Model\ResourceModel\Collection\AbstractCollection $collection
  *
  * @return void
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function beforePrepareProductCollection(\Magento\Catalog\Model\Layer $subject, \Magento\Catalog\Model\ResourceModel\Collection\AbstractCollection $collection)
 {
     if ($this->_isEnabledShowOutOfStock()) {
         return;
     }
     $this->stockHelper->addIsInStockFilterToCollection($collection);
 }
示例#2
0
 public function testAddIsInStockFilterToCollection()
 {
     $collectionMock = $this->getMockBuilder('Magento\\Catalog\\Model\\ResourceModel\\Product\\Collection')->disableOriginalConstructor()->getMock();
     $stockStatusMock = $this->getMockBuilder('Magento\\CatalogInventory\\Model\\ResourceModel\\Stock\\Status')->disableOriginalConstructor()->setMethods(['addStockDataToCollection'])->getMock();
     $stockStatusMock->expects($this->once())->method('addStockDataToCollection')->with($collectionMock);
     $this->statusFactoryMock->expects($this->once())->method('create')->willReturn($stockStatusMock);
     $this->assertNull($this->stock->addIsInStockFilterToCollection($collectionMock));
 }
 /**
  * @param Collection $productCollection
  * @param bool $printQuery
  * @param bool $logQuery
  * @return array
  */
 public function beforeLoad(Collection $productCollection, $printQuery = false, $logQuery = false)
 {
     $this->stockHelper->addIsInStockFilterToCollection($productCollection);
     return [$printQuery, $logQuery];
 }