From ab42d53bb73ef9a826efdc5743bf7847a46fac84 Mon Sep 17 00:00:00 2001
From: Ievgen Sentiabov <isentiabov@magento.com>
Date: Thu, 6 Oct 2016 20:42:37 +0300
Subject: [PATCH] MAGETWO-59199: Create Functional test for PayPal Braintree
 Vault

 - Updated fixture data
---
 ...derWithPayPalBraintreeVaultBackendTest.php |  2 +-
 ...derWithPayPalBraintreeVaultBackendTest.xml |  5 +-
 .../TestCase/CreateVaultOrderBackendTest.xml  |  1 +
 .../Test/TestCase/ReorderUsingVaultTest.xml   |  1 +
 .../Test/TestStep/UsePayPalVaultTokenStep.php | 47 -------------------
 .../Magento/Braintree/Test/etc/testcase.xml   |  4 +-
 .../TestCase/CreateVaultOrderBackendTest.xml  |  1 +
 .../Test/TestCase/ReorderUsingVaultTest.xml   |  1 +
 .../TestStep/UseVaultPaymentTokenStep.php     | 15 +++---
 9 files changed, 17 insertions(+), 60 deletions(-)
 delete mode 100644 dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/UsePayPalVaultTokenStep.php

diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.php b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.php
index fe29437bb3d..6fde39412d1 100644
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.php
+++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.php
@@ -14,7 +14,7 @@ use Magento\Mtf\TestCase\Scenario;
  * 3. Create products.
  * 4. Create and setup customer.
  *
- *  * Steps:
+ * Steps:
  * 1. Log in Storefront.
  * 2. Add products to the Shopping Cart.
  * 3. In 'Estimate Shipping and Tax' section specify destination using values from Test Data.
diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.xml
index 553d69994d0..03e0ba330fa 100644
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.xml
+++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderWithPayPalBraintreeVaultBackendTest.xml
@@ -8,7 +8,7 @@
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
     <testCase name="Magento\Braintree\Test\TestCase\CreateOrderWithPayPalBraintreeVaultBackendTest" summary="Checkout with PayPal Braintree Vault token from Admin">
         <variation name="CreateOrderWithPayPalBraintreeVaultBackendTestVariation1" summary="Checkout with PayPal Braintree Vault token from Admin" ticketId="MAGETWO-59259">
-            <data name="tag" xsi:type="string">est_type:3rd_party_test,severity:S0</data>
+            <data name="tag" xsi:type="string">est_type:3rd_party_test, severity:S0</data>
             <data name="products/0" xsi:type="string">catalogProductSimple::product_10_dollar</data>
             <data name="customer/dataset" xsi:type="string">default</data>
             <data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data>
@@ -16,8 +16,9 @@
             <data name="shipping/shipping_service" xsi:type="string">Flat Rate</data>
             <data name="shipping/shipping_method" xsi:type="string">Fixed</data>
             <data name="payment/method" xsi:type="string">braintree_paypal</data>
+            <data name="vault/method" xsi:type="string">braintree_paypal_vault</data>
             <data name="status" xsi:type="string">Processing</data>
-            <data name="configData" xsi:type="string">braintree, braintree_paypal, braintree_paypal_skip_order_review</data>
+            <data name="configData" xsi:type="string">braintree, braintree_paypal, braintree_paypal_use_vault, braintree_paypal_skip_order_review</data>
             <data name="prices" xsi:type="array">
                 <item name="grandTotal" xsi:type="string">15.00</item>
             </data>
diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateVaultOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateVaultOrderBackendTest.xml
index 4f05723609c..df6e56eb148 100644
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateVaultOrderBackendTest.xml
+++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateVaultOrderBackendTest.xml
@@ -19,6 +19,7 @@
                 <item name="grandTotal" xsi:type="string">15.00</item>
             </data>
             <data name="payment/method" xsi:type="string">braintree</data>
+            <data name="vault/method" xsi:type="string">braintree_cc_vault</data>
             <data name="creditCardClass" xsi:type="string">credit_card_braintree</data>
             <data name="creditCard/dataset" xsi:type="string">visa_braintree</data>
             <data name="creditCardSave" xsi:type="string">Yes</data>
diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/ReorderUsingVaultTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/ReorderUsingVaultTest.xml
index 88ab2ef65c9..2ab0134e62b 100644
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/ReorderUsingVaultTest.xml
+++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/ReorderUsingVaultTest.xml
@@ -19,6 +19,7 @@
                 <item name="grandTotal" xsi:type="string">15.00</item>
             </data>
             <data name="payment/method" xsi:type="string">braintree</data>
+            <data name="vault/method" xsi:type="string">braintree_cc_vault</data>
             <data name="creditCardClass" xsi:type="string">credit_card_braintree</data>
             <data name="creditCard/dataset" xsi:type="string">visa_braintree</data>
             <data name="configData" xsi:type="string">braintree, braintree_use_vault</data>
diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/UsePayPalVaultTokenStep.php b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/UsePayPalVaultTokenStep.php
deleted file mode 100644
index 2834e881b5c..00000000000
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/UsePayPalVaultTokenStep.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
- * Copyright © 2016 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-namespace Magento\Braintree\Test\TestStep;
-
-use Magento\Mtf\TestStep\TestStepInterface;
-use Magento\Sales\Test\Page\Adminhtml\OrderCreateIndex;
-
-/**
- * Selects Braintree PayPal Vault stored payment method
- */
-class UsePayPalVaultTokenStep implements TestStepInterface
-{
-    /**
-     * @var OrderCreateIndex
-     */
-    private $orderCreateIndex;
-
-    /**
-     * @var array
-     */
-    private $payment;
-
-    /**
-     * UsePayPalVaultToken constructor.
-     * @param OrderCreateIndex $orderCreateIndex
-     * @param array $payment
-     */
-    public function __construct(OrderCreateIndex $orderCreateIndex, array $payment)
-    {
-        $this->orderCreateIndex = $orderCreateIndex;
-        $this->payment = $payment;
-    }
-
-    /**
-     * @inheritdoc
-     */
-    public function run()
-    {
-        $block = $this->orderCreateIndex->getCreateBlock();
-        $this->payment['method'] = 'braintree_paypal_vault';
-        $block->selectPaymentMethod($this->payment);
-        $block->selectVaultToken('token_switcher_' . $this->payment['method']);
-    }
-}
diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/etc/testcase.xml
index d77377965df..495f455c43a 100644
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/etc/testcase.xml
+++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/etc/testcase.xml
@@ -171,8 +171,8 @@
         <step name="selectPaymentMethod" module="Magento_Checkout" next="placeOrderWithPaypal" />
         <step name="placeOrderWithPaypal" module="Magento_Braintree" next="openOrder"/>
         <step name="openOrder" module="Magento_Sales" next="reorder" />
-        <step name="reorder" module="Magento_Sales" next="usePayPalVaultToken" />
-        <step name="usePayPalVaultToken" module="Magento_Braintree" next="submitOrder" />
+        <step name="reorder" module="Magento_Sales" next="useVaultPaymentToken" />
+        <step name="useVaultPaymentToken" module="Magento_Vault" next="submitOrder" />
         <step name="submitOrder" module="Magento_Sales" />
     </scenario>
 </config>
diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml
index 64a191040b8..f431bf4d6a5 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateVaultOrderBackendTest.xml
@@ -19,6 +19,7 @@
                 <item name="grandTotal" xsi:type="string">15.00</item>
             </data>
             <data name="payment/method" xsi:type="string">payflowpro</data>
+            <data name="vault/method" xsi:type="string">payflowpro_cc_vault</data>
             <data name="creditCardClass" xsi:type="string">credit_card_admin</data>
             <data name="creditCard/dataset" xsi:type="string">visa_default</data>
             <data name="creditCardSave" xsi:type="string">Yes</data>
diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml
index bc3ee3cef1c..d74d9305319 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ReorderUsingVaultTest.xml
@@ -19,6 +19,7 @@
                 <item name="grandTotal" xsi:type="string">15.00</item>
             </data>
             <data name="payment/method" xsi:type="string">payflowpro</data>
+            <data name="vault/method" xsi:type="string">payflowpro_cc_vault</data>
             <data name="creditCardClass" xsi:type="string">credit_card</data>
             <data name="creditCard/dataset" xsi:type="string">visa_default</data>
             <data name="configData" xsi:type="string">payflowpro, payflowpro_use_vault</data>
diff --git a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php
index ad693923955..066dc7786d8 100644
--- a/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php
+++ b/dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/UseVaultPaymentTokenStep.php
@@ -17,20 +17,20 @@ class UseVaultPaymentTokenStep implements TestStepInterface
      * @var OrderCreateIndex
      */
     private $orderCreatePage;
-    
+
     /**
      * @var array
      */
-    private $payment;
+    private $vault;
 
     /**
      * @param OrderCreateIndex $orderCreateIndex
-     * @param array $payment
+     * @param array $vault
      */
-    public function __construct(OrderCreateIndex $orderCreateIndex, array $payment)
+    public function __construct(OrderCreateIndex $orderCreateIndex, array $vault)
     {
         $this->orderCreatePage = $orderCreateIndex;
-        $this->payment = $payment;
+        $this->vault = $vault;
     }
 
     /**
@@ -39,8 +39,7 @@ class UseVaultPaymentTokenStep implements TestStepInterface
     public function run()
     {
         $block = $this->orderCreatePage->getCreateBlock();
-        $this->payment['method'] .= '_cc_vault';
-        $block->selectPaymentMethod($this->payment);
-        $block->selectVaultToken('token_switcher_' . $this->payment['method']);
+        $block->selectPaymentMethod($this->vault);
+        $block->selectVaultToken('token_switcher_' . $this->vault['method']);
     }
 }
-- 
GitLab