From 899226a2e4bf964bca6e9e89ae9c0eec693df6cb Mon Sep 17 00:00:00 2001
From: Vasyl Kozyrenko <vkozyrenko@magento.com>
Date: Fri, 7 Oct 2016 11:35:33 +0300
Subject: [PATCH] MAGETWO-59321: CreateOnlineInvoiceEntityTest and
 CreateVaultOrderBackendTest fail on Bamboo

---
 .../Magento/Customer/Test/etc/testcase.xml    |  3 ++-
 .../app/Magento/Paypal/Test/etc/testcase.xml  |  3 ++-
 .../Test/Block/Adminhtml/Order/Create.php     | 19 +++++++++----------
 .../Test/TestStep/FillBillingAddressStep.php  | 15 ++++++++++++++-
 .../Test/TestStep/FillShippingAddressStep.php |  4 +++-
 .../app/Magento/Sales/Test/etc/testcase.xml   |  9 ++++++---
 .../app/Magento/Vault/Test/etc/testcase.xml   |  3 ++-
 7 files changed, 38 insertions(+), 18 deletions(-)

diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml
index 9880acee6bb..d34a96100f7 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/etc/testcase.xml
@@ -13,7 +13,8 @@
     <step name="createProducts" module="Magento_Catalog" next="addProducts"/>
     <step name="addProducts" module="Magento_Sales" next="updateProductsData"/>
     <step name="updateProductsData" module="Magento_Sales" next="fillBillingAddress"/>
-    <step name="fillBillingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder"/>
+    <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress"/>
+    <step name="fillShippingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder"/>
     <step name="selectPaymentMethodForOrder" module="Magento_Sales" next="selectShippingMethodForOrder"/>
     <step name="selectShippingMethodForOrder" module="Magento_Sales" next="submitOrder"/>
     <step name="submitOrder" module="Magento_Sales"/>
diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml
index 53f10b10d38..89cf35b73bc 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/etc/testcase.xml
@@ -79,7 +79,8 @@
         <step name="selectStore" module="Magento_Sales" next="addProducts" />
         <step name="addProducts" module="Magento_Sales" next="fillAccountInformation" />
         <step name="fillAccountInformation" module="Magento_Sales" next="fillBillingAddress" />
-        <step name="fillBillingAddress" module="Magento_Sales" next="selectShippingMethodForOrder" />
+        <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress" />
+        <step name="fillShippingAddress" module="Magento_Sales" next="selectShippingMethodForOrder" />
         <step name="selectShippingMethodForOrder" module="Magento_Sales" next="saveCreditCardOnBackend" />
         <step name="saveCreditCardOnBackend" module="Magento_Vault" next="submitOrderNegative" />
         <step name="submitOrderNegative" module="Magento_Sales" />
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php
index b86ac18ea3d..c25b96a624b 100644
--- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Create.php
@@ -291,29 +291,28 @@ class Create extends Block
         $saveAddress = 'No',
         $setShippingAddress = true
     ) {
-        if ($setShippingAddress) {
+        if ($setShippingAddress !== false) {
             $this->getShippingAddressBlock()->uncheckSameAsBillingShippingAddress();
         }
         $this->getBillingAddressBlock()->fill($billingAddress);
         $this->getBillingAddressBlock()->saveInAddressBookBillingAddress($saveAddress);
         $this->getTemplateBlock()->waitLoader();
+        if ($setShippingAddress) {
+            $this->getShippingAddressBlock()->setSameAsBillingShippingAddress();
+            $this->getTemplateBlock()->waitLoader();
+        }
     }
 
     /**
      * Fill Shipping Address.
      *
-     * @param FixtureInterface $shippingAddress [optional]
+     * @param FixtureInterface $shippingAddress
      * @return void
      */
-    public function fillShippingAddress(FixtureInterface $shippingAddress = null)
+    public function fillShippingAddress(FixtureInterface $shippingAddress)
     {
-        if (!$shippingAddress) {
-            $this->getShippingAddressBlock()->setSameAsBillingShippingAddress();
-            $this->getTemplateBlock()->waitLoader();
-        } else {
-            $this->getShippingAddressBlock()->fill($shippingAddress);
-            $this->getTemplateBlock()->waitLoader();
-        }
+        $this->getShippingAddressBlock()->fill($shippingAddress);
+        $this->getTemplateBlock()->waitLoader();
     }
 
     /**
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php
index f6d0c8325bf..4d8321e1d9b 100644
--- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillBillingAddressStep.php
@@ -29,6 +29,13 @@ class FillBillingAddressStep implements TestStepInterface
      */
     protected $billingAddress;
 
+    /**
+     * Shipping Address fixture.
+     *
+     * @var Address
+     */
+    protected $shippingAddress;
+
     /**
      * Save Address.
      *
@@ -46,17 +53,20 @@ class FillBillingAddressStep implements TestStepInterface
     /**
      * @param OrderCreateIndex $orderCreateIndex
      * @param Address $billingAddress
-     * @param string $saveAddress
+     * @param Address $shippingAddress [optional]
+     * @param string $saveAddress [optional]
      * @param bool $setShippingAddress [optional]
      */
     public function __construct(
         OrderCreateIndex $orderCreateIndex,
         Address $billingAddress,
+        Address $shippingAddress = null,
         $saveAddress = 'No',
         $setShippingAddress = true
     ) {
         $this->orderCreateIndex = $orderCreateIndex;
         $this->billingAddress = $billingAddress;
+        $this->shippingAddress = $shippingAddress;
         $this->saveAddress = $saveAddress;
         $this->setShippingAddress = $setShippingAddress;
     }
@@ -68,6 +78,9 @@ class FillBillingAddressStep implements TestStepInterface
      */
     public function run()
     {
+        if ($this->shippingAddress !== null) {
+            $this->setShippingAddress = null;
+        }
         $this->orderCreateIndex->getCreateBlock()
             ->fillBillingAddress($this->billingAddress, $this->saveAddress, $this->setShippingAddress);
 
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php
index 8ff05dfca95..a9d6433c669 100644
--- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/FillShippingAddressStep.php
@@ -48,6 +48,8 @@ class FillShippingAddressStep implements TestStepInterface
      */
     public function run()
     {
-        $this->orderCreateIndex->getCreateBlock()->fillShippingAddress($this->shippingAddress);
+        if ($this->shippingAddress !== null) {
+            $this->orderCreateIndex->getCreateBlock()->fillShippingAddress($this->shippingAddress);
+        }
     }
 }
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml
index ec2da3f2607..eebdf2128dc 100644
--- a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml
@@ -11,7 +11,8 @@
         <step name="createOrder" module="Magento_Sales" next="openOrder" />
         <step name="openOrder" module="Magento_Sales" next="reorder" />
         <step name="reorder" module="Magento_Sales" next="fillBillingAddress" />
-        <step name="fillBillingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder" />
+        <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress" />
+        <step name="fillShippingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder" />
         <step name="selectPaymentMethodForOrder" module="Magento_Sales" next="selectShippingMethodForOrder" />
         <step name="selectShippingMethodForOrder" module="Magento_Sales" next="submitOrder" />
         <step name="submitOrder" module="Magento_Sales" />
@@ -42,7 +43,8 @@
         <step name="selectCustomerOrder" module="Magento_Sales" next="selectStore" />
         <step name="selectStore" module="Magento_Sales" next="addProducts" />
         <step name="addProducts" module="Magento_Sales" next="fillBillingAddress" />
-        <step name="fillBillingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder" />
+        <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress" />
+        <step name="fillShippingAddress" module="Magento_Sales" next="selectPaymentMethodForOrder" />
         <step name="selectPaymentMethodForOrder" module="Magento_Sales" next="selectShippingMethodForOrder" />
         <step name="selectShippingMethodForOrder" module="Magento_Sales" next="submitOrder" />
         <step name="submitOrder" module="Magento_Sales" next="openSalesOrderOnFrontendForGuest" />
@@ -61,7 +63,8 @@
         <step name="addProducts" module="Magento_Sales" next="updateProductsData" />
         <step name="updateProductsData" module="Magento_Sales" next="fillAccountInformation" />
         <step name="fillAccountInformation" module="Magento_Sales" next="fillBillingAddress" />
-        <step name="fillBillingAddress" module="Magento_Sales" next="selectShippingMethodForOrder" />
+        <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress" />
+        <step name="fillShippingAddress" module="Magento_Sales" next="selectShippingMethodForOrder" />
         <step name="selectShippingMethodForOrder" module="Magento_Sales" next="selectPaymentMethodForOrder" />
         <step name="selectPaymentMethodForOrder" module="Magento_Sales" next="submitOrder" />
         <step name="submitOrder" module="Magento_Sales" next="createInvoice" />
diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml
index 6b4f31a329d..cd34b966482 100644
--- a/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml
+++ b/dev/tests/functional/tests/app/Magento/Vault/Test/etc/testcase.xml
@@ -37,7 +37,8 @@
         <step name="selectStore" module="Magento_Sales" next="addProducts" />
         <step name="addProducts" module="Magento_Sales" next="fillAccountInformation" />
         <step name="fillAccountInformation" module="Magento_Sales" next="fillBillingAddress" />
-        <step name="fillBillingAddress" module="Magento_Sales" next="selectShippingMethodForOrder" />
+        <step name="fillBillingAddress" module="Magento_Sales" next="fillShippingAddress" />
+        <step name="fillShippingAddress" module="Magento_Sales" next="selectShippingMethodForOrder" />
         <step name="selectShippingMethodForOrder" module="Magento_Sales" next="saveCreditCardOnBackend" />
         <step name="saveCreditCardOnBackend" module="Magento_Vault" next="submitOrder" />
         <step name="submitOrder" module="Magento_Sales" next="reorder" />
-- 
GitLab