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 495f455c43a72f4d61029a07a8633fc09744c2f0..12aa92d35064d457cef4a544daace01314723d99 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
@@ -106,8 +106,8 @@
         <step name="selectPaymentMethod" module="Magento_Checkout" next="fillBillingInformation" />
         <step name="fillBillingInformation" module="Magento_Checkout" next="placeOrderWithPaypal" />
         <step name="placeOrderWithPaypal" module="Magento_Braintree" next="createInvoice" />
-        <step name="createInvoice" module="Magento_Sales" next="createBraintreeCreditMemo" />
-        <step name="createBraintreeCreditMemo" module="Magento_Braintree" />
+        <step name="createInvoice" module="Magento_Sales" next="createOnlineCreditMemo" />
+        <step name="createOnlineCreditMemo" module="Magento_Sales" />
     </scenario>
     <scenario name="SaveUseDeleteVaultForPaypalBraintreeTest" firstStep="setupConfiguration">
         <step name="setupConfiguration" module="Magento_Config" next="createProducts" />
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php
index 80309405fcd05e9206e5732c1f6c3e4eb973c620..64e449c805b2807844c88bfa36a821b20adcfd04 100644
--- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/Transactions.php
@@ -8,7 +8,7 @@ namespace Magento\Sales\Test\Block\Adminhtml\Order\View\Tab;
 
 use Magento\Backend\Test\Block\Widget\Tab;
 use Magento\Mtf\Client\Locator;
-use Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Shipments\Grid;
+use Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Transactions\Grid;
 
 /**
  * Transactions tab.
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertTransactionStatus.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertTransactionStatus.php
new file mode 100644
index 0000000000000000000000000000000000000000..fb975ae4bd1c6bfdc8f5ce3fea9f094f1e4e45e4
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertTransactionStatus.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Copyright © 2016 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\Sales\Test\Constraint;
+
+use Magento\Sales\Test\Page\Adminhtml\OrderIndex;
+use Magento\Sales\Test\Page\Adminhtml\SalesOrderView;
+use Magento\Mtf\Constraint\AbstractConstraint;
+
+/**
+ * Assert that transactions status is closed on order page in Admin.
+ */
+class AssertTransactionStatus extends AbstractConstraint
+{
+    /**
+     * Assert that transactions status is closed on order page in Admin.
+     *
+     * @param OrderIndex $salesOrder
+     * @param SalesOrderView $salesOrderView
+     * @param array $transactions
+     * @param string $orderId
+     * @return void
+     */
+    public function processAssert(
+        OrderIndex $salesOrder,
+        SalesOrderView $salesOrderView,
+        array $transactions,
+        $orderId
+    ) {
+        $salesOrder->open();
+        $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
+        $salesOrderView->getOrderForm()->openTab('transactions');
+        $actualTransactions = $salesOrderView->getOrderForm()->getTab('transactions')->getGridBlock()->getIds();
+
+        foreach ($transactions as $transaction) {
+            foreach ($actualTransactions as $actualTransaction) {
+                if ($actualTransaction['transactionType'] === $transaction['transactionType']) {
+                    \PHPUnit_Framework_Assert::assertEquals(
+                        $transaction['statusIsClosed'],
+                        $actualTransaction['statusIsClosed'],
+                        'The ' . $transaction['transactionType'] . ' transaction status is not closed.'
+                    );
+                    break;
+                }
+            }
+        }
+    }
+
+    /**
+     * Returns a string representation of the object.
+     *
+     * @return string
+     */
+    public function toString()
+    {
+        return 'Transactions status is closed.';
+    }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/CreateBraintreeCreditMemoStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php
similarity index 93%
rename from dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/CreateBraintreeCreditMemoStep.php
rename to dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php
index 085fc142a33736e1aec9fb2cc1a0771e37ffd34e..84491c1992e5d682c59a1848516fcf084ce42507 100644
--- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/CreateBraintreeCreditMemoStep.php
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php
@@ -4,9 +4,8 @@
  * See COPYING.txt for license details.
  */
 
-namespace Magento\Braintree\Test\TestStep;
+namespace Magento\Sales\Test\TestStep;
 
-use Magento\Mtf\ObjectManager;
 use Magento\Mtf\TestStep\TestStepInterface;
 use Magento\Sales\Test\Fixture\OrderInjectable;
 use Magento\Sales\Test\Page\Adminhtml\OrderCreditMemoNew;
@@ -15,9 +14,9 @@ use Magento\Sales\Test\Page\Adminhtml\OrderInvoiceView;
 use Magento\Sales\Test\Page\Adminhtml\SalesOrderView;
 
 /**
- * Create credit memo for order placed via Braintree credit card payment method.
+ * Create credit memo for order placed using online payment methods.
  */
-class CreateBraintreeCreditMemoStep implements TestStepInterface
+class CreateOnlineCreditMemoStep implements TestStepInterface
 {
     /**
      * Orders Page.
diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php
index fa37c94be3cdda2b7814a2dab3d11b0a4272dc04..0a82770fab38bbe574b77b0bb4e08eadbdc01a3f 100644
--- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php
+++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php
@@ -23,21 +23,42 @@ class SubmitOrderStep implements TestStepInterface
      *
      * @var OrderCreateIndex
      */
-    protected $orderCreateIndex;
+    private $orderCreateIndex;
 
     /**
      * Sales order view.
      *
      * @var SalesOrderView
      */
-    protected $salesOrderView;
+    private $salesOrderView;
 
     /**
      * Factory for fixtures.
      *
      * @var FixtureFactory
      */
-    protected $fixtureFactory;
+    private $fixtureFactory;
+
+    /**
+     * Customer fixture.
+     *
+     * @var Customer
+     */
+    private $customer;
+
+    /**
+     * Billing Address fixture.
+     *
+     * @var Address
+     */
+    private $billingAddress;
+
+    /**
+     * Products fixtures.
+     *
+     * @var array|\Magento\Mtf\Fixture\FixtureInterface[]
+     */
+    private $products;
 
     /**
      * @constructor