public function testGetDisabledCount() { $statusDisabled = 2; $productsMock = $this->getMock('Magento\\ConfigurableProduct\\Model\\ResourceModel\\Product\\Type\\Configurable\\Product\\Collection', [], [], '', false); $this->productsFactoryMock->expects($this->once())->method('create')->willReturn($productsMock); $productsMock->expects($this->once())->method('addAttributeToFilter')->with('status', $statusDisabled)->willReturnSelf(); $productsMock->expects($this->once())->method('getSize')->willReturn('expected'); $this->assertEquals('expected', $this->model->getCount($statusDisabled)); }
/** * {@inheritdoc} */ public function getCount($status = null) { $products = $this->productsFactory->create(); // @codingStandardsIgnoreStart /** @var \Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Product\Collection $products */ // @codingStandardsIgnoreEnd switch ($status) { case Status::STATUS_ENABLED: $products->addAttributeToFilter('status', Status::STATUS_ENABLED); break; case Status::STATUS_DISABLED: $products->addAttributeToFilter('status', Status::STATUS_DISABLED); break; } return $products->getSize(); }
/** * Retrieve related products collection * * @param \Magento\Catalog\Model\Product $product * @return \Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Product\Collection */ public function getUsedProductCollection($product) { $collection = $this->_productCollectionFactory->create()->setFlag('require_stock_items', true)->setFlag('product_children', true)->setProductFilter($product); if (!is_null($this->getStoreFilter($product))) { $collection->addStoreFilter($this->getStoreFilter($product)); } return $collection; }