/**
  * @magentoDataFixture Magento/Catalog/_files/product_simple.php
  */
 public function testGetOptionSku()
 {
     /** @var $product \Magento\Catalog\Model\Product */
     $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product');
     $this->assertEmpty($this->_model->getOptionSku($product));
     $product->load(1);
     // fixture
     $this->assertEquals('simple', $this->_model->getOptionSku($product));
     foreach ($product->getOptions() as $option) {
         if ('field' == $option->getType()) {
             $product->addCustomOption('option_ids', $option->getId());
             $quoteOption = clone $option;
             $product->addCustomOption("option_{$option->getId()}", $quoteOption);
             $this->assertEquals('simple-1-text', $this->_model->getOptionSku($product));
             break;
         }
     }
 }
Example #2
0
 /**
  * Get sku of product
  *
  * @param  \Magento\Catalog\Model\Product $product
  * @return string
  */
 public function getSku($product)
 {
     $simpleOption = $product->getCustomOption('simple_product');
     if ($simpleOption) {
         $optionProduct = $simpleOption->getProduct();
         $simpleSku = null;
         if ($optionProduct) {
             $simpleSku = $simpleOption->getProduct()->getSku();
         }
         $sku = parent::getOptionSku($product, $simpleSku);
     } else {
         $sku = parent::getSku($product);
     }
     return $sku;
 }