From 1db5bc315f5e51ccc27d8aa840ded10d05bbc021 Mon Sep 17 00:00:00 2001
From: Vasyl Kozyrenko <vkozyrenko@magento.com>
Date: Wed, 21 Dec 2016 16:00:09 +0200
Subject: [PATCH] MTA-3882: Create auto test to Close a Sales Order Paid with
 PayPal Payments Pro Hosted Solution

---
 .../Paypal/Test/Block/Onepage/Payment/HostedPro.php   |  7 ++++++-
 .../Paypal/Test/Block/Onepage/Payment/PayflowLink.php |  7 ++++++-
 .../Test/Block/Onepage/Payment/PaymentsAdvanced.php   |  7 ++++++-
 .../Test/Block/Onepage/Payment/PaypalIframe.php       | 11 ++++++++---
 4 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php
index ebd7a532bdb..a44c828f00b 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/HostedPro.php
@@ -11,5 +11,10 @@ namespace Magento\Paypal\Test\Block\Onepage\Payment;
  */
 class HostedPro extends PaypalIframe
 {
-    //
+    /**
+     * Block for filling credit card data for Hosted Pro payment method.
+     *
+     * @var string
+     */
+    protected $formBlockCc = '\Magento\Paypal\Test\Block\Form\HostedPro\Cc';
 }
diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PayflowLink.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PayflowLink.php
index 44f6344a968..70c5c70bff2 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PayflowLink.php
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PayflowLink.php
@@ -11,5 +11,10 @@ namespace Magento\Paypal\Test\Block\Onepage\Payment;
  */
 class PayflowLink extends PaypalIframe
 {
-    //
+    /**
+     * Block for filling credit card data for Payflow Link payment method.
+     *
+     * @var string
+     */
+    protected $formBlockCc = '\Magento\Paypal\Test\Block\Form\PayflowLink\Cc';
 }
diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaymentsAdvanced.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaymentsAdvanced.php
index ee928f9ed1a..a560a065583 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaymentsAdvanced.php
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaymentsAdvanced.php
@@ -11,5 +11,10 @@ namespace Magento\Paypal\Test\Block\Onepage\Payment;
  */
 class PaymentsAdvanced extends PaypalIframe
 {
-    //
+    /**
+     * Block for filling credit card data for Payments Advanced payment method.
+     *
+     * @var string
+     */
+    protected $formBlockCc = '\Magento\Paypal\Test\Block\Form\PaymentsAdvanced\Cc';
 }
diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaypalIframe.php b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaypalIframe.php
index 710f5a57cf0..574dc256589 100644
--- a/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaypalIframe.php
+++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/Block/Onepage/Payment/PaypalIframe.php
@@ -9,7 +9,6 @@ namespace Magento\Paypal\Test\Block\Onepage\Payment;
 use Magento\Checkout\Test\Block\Onepage\Payment\Method;
 use Magento\Mtf\Client\ElementInterface;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Paypal\Test\Block\Form\HostedPro\Cc;
 
 /**
  * Paypal Iframe block.
@@ -44,6 +43,13 @@ class PaypalIframe extends Method
      */
     private $errorMessage = '#messageBox';
 
+    /**
+     * Block for filling credit card data for payment method.
+     *
+     * @var string
+     */
+    protected $formBlockCc;
+
     /**
      * Fill credit card data in PayPal iframe form.
      *
@@ -53,9 +59,8 @@ class PaypalIframe extends Method
     public function fillPaymentData(FixtureInterface $creditCard)
     {
         $iframeRootElement = $this->switchToPaypalFrame();
-        /** @var Cc $formBlock */
         $formBlock = $this->blockFactory->create(
-            Cc::class,
+            $this->formBlockCc,
             ['element' => $this->_rootElement->find($this->creditCardForm)]
         );
         $formBlock->fill($creditCard, $iframeRootElement);
-- 
GitLab