/** * @param int|null $gettingQuoteItemId * @param int|null $quoteItemId * @param string|null $result * * @dataProvider dataProviderGetItemByQuoteItemId */ public function testGetItemByQuoteItemId($gettingQuoteItemId, $quoteItemId, $result) { $this->item->expects($this->any())->method('getQuoteItemId')->willReturn($gettingQuoteItemId); if ($result !== null) { $result = $this->item; } $this->assertEquals($result, $this->order->getItemByQuoteItemId($quoteItemId)); }
/** * Process items dependency for new order, returns qty of affected items; * * @param \Magento\Sales\Model\Order $object * @return int */ protected function calculateItems(\Magento\Sales\Model\Order $object) { $itemsCount = 0; if (!$object->getId()) { foreach ($object->getAllItems() as $item) { /** @var \Magento\Sales\Model\Order\Item $item */ $parent = $item->getQuoteParentItemId(); if ($parent && !$item->getParentItem()) { $item->setParentItem($object->getItemByQuoteItemId($parent)); } $childItems = $item->getChildrenItems(); if (empty($childItems)) { $itemsCount++; } } } return $itemsCount; }
/** * @param \Magento\Sales\Model\Order $order * @return mixed */ protected function getOrderItemForTransaction(\Magento\Sales\Model\Order $order) { $order->getItemByQuoteItemId($order->getQuoteId()); foreach ($order->getItemsCollection() as $item) { if (!$item->isDeleted() && !$item->getParentItemId()) { return $item; } } return null; }