/** * Test _beforeSaveMethod via save() with failed validation * * @expectedException \Magento\Framework\Exception\LocalizedException * @expectedExceptionMessage Cannot save comment: */ public function testSaveValidationFailed() { $this->entitySnapshotMock->expects($this->once())->method('isModified')->with($this->commentModelMock)->willReturn(true); $this->validatorMock->expects($this->once())->method('validate')->with($this->equalTo($this->commentModelMock))->will($this->returnValue(['warning message'])); $this->commentResource->save($this->commentModelMock); $this->assertTrue(true); }
/** * 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); } } }