/** * Check is virtual product * * @param \Magento\Catalog\Model\Product $product * @return bool */ public function isVirtual($product) { if ($productOption = $product->getCustomOption('simple_product')) { if ($optionProduct = $productOption->getProduct()) { /* @var $optionProduct \Magento\Catalog\Model\Product */ return $optionProduct->isVirtual(); } } return parent::isVirtual($product); }
/** * @magentoAppIsolation enabled */ public function testIsVirtual() { $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product'); $this->assertFalse($this->_model->isVirtual($product)); }