예제 #1
0
 /**
  * Return Purchased link for order item
  *
  * @return \Magento\Downloadable\Model\Link\Purchased
  */
 public function getLinks()
 {
     $this->_purchasedLinks = $this->_purchasedFactory->create()->load($this->getOrder()->getId(), 'order_id');
     $purchasedItems = $this->_itemsFactory->create()->addFieldToFilter('order_item_id', $this->getItem()->getOrderItem()->getId());
     $this->_purchasedLinks->setPurchasedItems($purchasedItems);
     return $this->_purchasedLinks;
 }
 public function testGetLinks()
 {
     $item = $this->getMockBuilder('\\Magento\\Sales\\Model\\Order\\Item')->disableOriginalConstructor()->setMethods(['getId'])->getMock();
     $linkPurchased = $this->getMockBuilder('Magento\\Downloadable\\Model\\Link\\Purchased')->disableOriginalConstructor()->setMethods(['load'])->getMock();
     $itemCollection = $this->getMockBuilder('Magento\\Downloadable\\Model\\ResourceModel\\Link\\Purchased\\Item\\Collection')->disableOriginalConstructor()->setMethods(['addFieldToFilter'])->getMock();
     $this->block->setData('item', $item);
     $this->purchasedFactory->expects($this->once())->method('create')->willReturn($linkPurchased);
     $linkPurchased->expects($this->once())->method('load')->with('itemId', 'order_item_id')->willReturnSelf();
     $item->expects($this->any())->method('getId')->willReturn('itemId');
     $this->itemsFactory->expects($this->once())->method('create')->willReturn($itemCollection);
     $itemCollection->expects($this->once())->method('addFieldToFilter')->with('order_item_id', 'itemId')->willReturnSelf();
     $this->assertEquals($linkPurchased, $this->block->getLinks());
 }
예제 #3
0
 /**
  * Class constructor
  *
  * @return void
  */
 protected function _construct()
 {
     parent::_construct();
     $purchased = $this->_linksFactory->create()->addFieldToFilter('customer_id', $this->currentCustomer->getCustomerId())->addOrder('created_at', 'desc');
     $this->setPurchased($purchased);
     $purchasedIds = [];
     foreach ($purchased as $_item) {
         $purchasedIds[] = $_item->getId();
     }
     if (empty($purchasedIds)) {
         $purchasedIds = [null];
     }
     $purchasedItems = $this->_itemsFactory->create()->addFieldToFilter('purchased_id', ['in' => $purchasedIds])->addFieldToFilter('status', ['nin' => [Item::LINK_STATUS_PENDING_PAYMENT, Item::LINK_STATUS_PAYMENT_REVIEW]])->setOrder('item_id', 'desc');
     $this->setItems($purchasedItems);
 }
 /**
  * @return \Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\Collection
  */
 protected function _createItemsCollection()
 {
     return $this->_itemsFactory->create();
 }