public function testGetOptions()
 {
     $item = $this->getMock('\\Magento\\Catalog\\Model\\Product\\Configuration\\Item\\ItemInterface');
     $product = $this->getMockBuilder('\\Magento\\Catalog\\Model\\Product')->disableOriginalConstructor()->setMethods(['_wakeup', 'getLinksTitle', 'getTypeInstance'])->getMock();
     $option = $this->getMock('\\Magento\\Catalog\\Model\\Product\\Configuration\\Item\\Option\\OptionInterface');
     $productType = $this->getMockBuilder('\\Magento\\Downloadable\\Model\\Product\\Type')->disableOriginalConstructor()->setMethods(['getLinks'])->getMock();
     $productLink = $this->getMockBuilder('\\Magento\\Downloadable\\Model\\Link')->disableOriginalConstructor()->setMethods(['getTitle'])->getMock();
     $this->productConfig->expects($this->once())->method('getOptions')->with($item);
     $item->expects($this->any())->method('getProduct')->willReturn($product);
     $item->expects($this->once())->method('getOptionByCode')->willReturn($option);
     $product->expects($this->once())->method('getTypeInstance')->willReturn($productType);
     $productType->expects($this->once())->method('getLinks')->with($product)->willReturn([1 => $productLink]);
     $option->expects($this->once())->method('getValue')->willReturn(1);
     $product->expects($this->once())->method('getLinksTitle')->willReturn('links_title');
     $productLink->expects($this->once())->method('getTitle')->willReturn('title');
     $this->assertEquals([['label' => 'links_title', 'value' => ['title']]], $this->helper->getOptions($item));
 }
Example #2
0
 /**
  * Return title of links section
  *
  * @return string
  */
 public function getLinksTitle()
 {
     return $this->_downloadProdConfig->getLinksTitle($this->getProduct());
 }
Example #3
0
 /**
  * Get list of all options for product
  * @param \Magento\Catalog\Model\Product\Configuration\Item\ItemInterface $item
  * @return array
  */
 public function getOption($item)
 {
     return $this->_downloadableProductConfiguration->getOptions($item);
 }