/** * @dataProvider canItemsAddToCartDataProvider * @param bool $isComposite * @param bool $isSaleable * @param bool $hasRequiredOptions * @param bool $canItemsAddToCart */ public function testCanItemsAddToCart($isComposite, $isSaleable, $hasRequiredOptions, $canItemsAddToCart) { $product = $this->getMock('Magento\\Catalog\\Model\\Product', ['isComposite', 'isSaleable', 'getRequiredOptions'], [], '', false); $product->expects($this->any())->method('isComposite')->willReturn($isComposite); $product->expects($this->any())->method('isSaleable')->willReturn($isSaleable); $product->expects($this->any())->method('getRequiredOptions')->willReturn($hasRequiredOptions); $itemsCollection = new \ReflectionProperty('Magento\\Catalog\\Block\\Product\\ProductList\\Related', '_itemCollection'); $itemsCollection->setAccessible(true); $itemsCollection->setValue($this->block, [$product]); $this->assertEquals($canItemsAddToCart, $this->block->canItemsAddToCart()); }
/** * {@inheritdoc} */ public function canItemsAddToCart() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'canItemsAddToCart'); if (!$pluginInfo) { return parent::canItemsAddToCart(); } else { return $this->___callPlugins('canItemsAddToCart', func_get_args(), $pluginInfo); } }