From 022bd3d20a2714b051068b90ed809655e0145d1a Mon Sep 17 00:00:00 2001
From: Arkadii Chyzhov <achyzhov@ebay.com>
Date: Tue, 31 Mar 2015 18:36:45 +0300
Subject: [PATCH] MAGETWO-35610: Merge and Fix Tests

- fix. added additional check during saving gift messages
---
 .../GiftMessage/Model/Plugin/OrderSave.php    | 23 ++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/app/code/Magento/GiftMessage/Model/Plugin/OrderSave.php b/app/code/Magento/GiftMessage/Model/Plugin/OrderSave.php
index bb93463ef9c..8acac4ecd67 100644
--- a/app/code/Magento/GiftMessage/Model/Plugin/OrderSave.php
+++ b/app/code/Magento/GiftMessage/Model/Plugin/OrderSave.php
@@ -61,13 +61,21 @@ class OrderSave
      */
     protected function saveOrderGiftMessage(\Magento\Sales\Api\Data\OrderInterface $order)
     {
-        if (null !== ($order->getExtensionAttributes())) {
+        if (
+            null !== $order->getExtensionAttributes() &&
+            null !== $order->getExtensionAttributes()->getGiftMessage()
+        ) {
             /* @var \Magento\GiftMessage\Api\Data\MessageInterface $giftMessage */
             $giftMessage = $order->getExtensionAttributes()->getGiftMessage();
-            try {
-                $this->giftMessageOrderRepository->save($order->getEntityId(), $giftMessage);
-            } catch (\Exception $e) {
-                throw new CouldNotSaveException(__('Could not add gift message to order: "%1"', $e->getMessage()), $e);
+            if (null !== $giftMessage) {
+                try {
+                    $this->giftMessageOrderRepository->save($order->getEntityId(), $giftMessage);
+                } catch (\Exception $e) {
+                    throw new CouldNotSaveException(
+                        __('Could not add gift message to order: "%1"', $e->getMessage()),
+                        $e
+                    );
+                }
             }
         }
         return $order;
@@ -84,7 +92,10 @@ class OrderSave
         if (null !== $order->getItems()) {
             /** @var \Magento\Sales\Api\Data\OrderItemInterface $orderItem */
             foreach ($order->getItems() as $orderItem) {
-                if (null !== ($orderItem->getExtensionAttributes())) {
+                if (
+                    null !== $orderItem->getExtensionAttributes() &&
+                    null !== $orderItem->getExtensionAttributes()->getGiftMessage()
+                ) {
                     /* @var \Magento\GiftMessage\Api\Data\MessageInterface $giftMessage */
                     $giftMessage = $orderItem->getExtensionAttributes()->getGiftMessage();
                     try {
-- 
GitLab