public function testProcessRelation()
 {
     $this->invoiceMock->expects($this->once())->method('getId')->willReturn('invoice-id-value');
     $this->invoiceMock->expects($this->exactly(2))->method('getItems')->willReturn([$this->invoiceItemMock]);
     $this->invoiceItemMock->expects($this->once())->method('setParentId')->with('invoice-id-value')->willReturnSelf();
     $this->invoiceItemMock->expects($this->once())->method('getOrderItem')->willReturn($this->orderItemMock);
     $this->invoiceItemMock->expects($this->once())->method('setOrderItem')->with($this->orderItemMock)->willReturnSelf();
     $this->invoiceItemResourceMock->expects($this->once())->method('save')->with($this->invoiceItemMock)->willReturnSelf();
     $this->invoiceMock->expects($this->exactly(2))->method('getComments')->willReturn([$this->invoiceCommentMock]);
     $this->invoiceCommentResourceMock->expects($this->once())->method('save')->with($this->invoiceCommentMock)->willReturnSelf();
     $this->relationProcessor->processRelation($this->invoiceMock);
 }
Example #2
0
 /**
  * Process relations for Shipment
  *
  * @param \Magento\Framework\Model\AbstractModel $object
  * @return void
  * @throws \Exception
  */
 public function processRelation(\Magento\Framework\Model\AbstractModel $object)
 {
     /** @var $object \Magento\Sales\Model\Order\Invoice */
     if (null !== $object->getItems()) {
         foreach ($object->getItems() as $item) {
             /** @var \Magento\Sales\Model\Order\Invoice\Item */
             $item->setParentId($object->getId());
             $item->setOrderItem($item->getOrderItem());
             $this->invoiceItemResource->save($item);
         }
     }
     if (null !== $object->getComments()) {
         foreach ($object->getComments() as $comment) {
             /** @var \Magento\Sales\Model\Order\Invoice\Comment */
             $this->invoiceCommentResource->save($comment);
         }
     }
 }