Skip to content

Commit df4fbec

Browse files
MTA-3901: Add variation for Partial Refund an order placed through Braintree with Partial capture
1 parent dda7409 commit df4fbec

File tree

12 files changed

+82
-44
lines changed

12 files changed

+82
-44
lines changed

dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreePaypalTest.xml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<data name="products/0" xsi:type="string">catalogProductSimple::product_10_dollar</data>
1212
<data name="products/1" xsi:type="string">bundleProduct::bundle_fixed_100_dollar_product</data>
1313
<data name="customer/dataset" xsi:type="string">default</data>
14-
<data name="checkoutMethod" xsi:type="string">login</data>
14+
<data name="checkoutMethod" xsi:type="string">guest</data>
1515
<data name="taxRule" xsi:type="string">us_ca_ny_rule</data>
1616
<data name="order/data/refund" xsi:type="array">
1717
<item name="0" xsi:type="array">
@@ -20,7 +20,7 @@
2020
</data>
2121
<data name="order/data/price/refund" xsi:type="array">
2222
<item name="0" xsi:type="array">
23-
<item name="grand_refund_total" xsi:type="string">139.90</item>
23+
<item name="grand_creditmemo_total" xsi:type="string">139.90</item>
2424
</item>
2525
</data>
2626
<data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data>
@@ -29,7 +29,6 @@
2929
<data name="payment/method" xsi:type="string">braintree_paypal</data>
3030
<data name="configData" xsi:type="string">braintree, braintree_paypal, braintree_paypal_sale, braintree_paypal_skip_order_review</data>
3131
<data name="paymentAction" xsi:type="string">sale</data>
32-
<data name="data/items_data/0/qty" xsi:type="string">-</data>
3332
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data>
3433
<constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" />
3534
<constraint name="Magento\Sales\Test\Constraint\AssertRefundInCreditMemoTab" />
@@ -38,16 +37,24 @@
3837
<variation name="CreateOnlineCreditMemoBraintreePaypalTestVariation2" summary="Partial refund of order placed within Braintree PayPal" ticketId="MAGETWO-48698">
3938
<data name="products/0" xsi:type="string">catalogProductSimple::simple_for_sales</data>
4039
<data name="customer/dataset" xsi:type="string">default</data>
41-
<data name="checkoutMethod" xsi:type="string">login</data>
40+
<data name="checkoutMethod" xsi:type="string">guest</data>
4241
<data name="taxRule" xsi:type="string">us_ca_ny_rule</data>
4342
<data name="order/data/refund" xsi:type="array">
4443
<item name="0" xsi:type="array">
4544
<item name="invoiceId" xsi:type="string">0</item>
45+
<item name="items_data" xsi:type="array">
46+
<item name="0" xsi:type="array">
47+
<item name="qty" xsi:type="string">1</item>
48+
</item>
49+
</item>
50+
</item>
51+
<item name="1" xsi:type="array">
52+
<item name="invoiceId" xsi:type="string">0</item>
4653
</item>
4754
</data>
4855
<data name="order/data/price/refund" xsi:type="array">
4956
<item name="0" xsi:type="array">
50-
<item name="grand_refund_total" xsi:type="string">621.20</item>
57+
<item name="grand_creditmemo_total" xsi:type="string">606.20</item>
5158
</item>
5259
</data>
5360
<data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data>
@@ -56,9 +63,6 @@
5663
<data name="payment/method" xsi:type="string">braintree_paypal</data>
5764
<data name="configData" xsi:type="string">braintree, braintree_paypal, braintree_paypal_skip_order_review</data>
5865
<data name="data/items_data/0/qty" xsi:type="string">2</data>
59-
<data name="refundData/items_data/0/qty" xsi:type="string">1</data>
60-
<data name="order/dataset" xsi:type="string">default</data>
61-
<data name="isCreditMemoPartial" xsi:type="string">Yes</data>
6266
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data>
6367
<constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" />
6468
<constraint name="Magento\Sales\Test\Constraint\AssertRefundInCreditMemoTab" />

dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreeTest.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,13 @@
3535
</data>
3636
<data name="order/data/price/refund" xsi:type="array">
3737
<item name="0" xsi:type="array">
38-
<item name="grand_refund_total" xsi:type="string">145.98</item>
38+
<item name="grand_creditmemo_total" xsi:type="string">145.98</item>
3939
</item>
4040
</data>
4141
<data name="transactions/refund" xsi:type="array">
4242
<item name="transactionType" xsi:type="string">Refund</item>
4343
<item name="statusIsClosed" xsi:type="string">Yes</item>
4444
</data>
45-
<data name="data/items_data/0/qty" xsi:type="string">-</data>
4645
<constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" />
4746
<constraint name="Magento\Sales\Test\Constraint\AssertRefundInCommentsHistory" />
4847
<constraint name="Magento\Sales\Test\Constraint\AssertOrderStatusIsCorrect" />
@@ -84,10 +83,10 @@
8483
</data>
8584
<data name="order/data/price/refund" xsi:type="array">
8685
<item name="0" xsi:type="array">
87-
<item name="grand_refund_total" xsi:type="string">1.08</item>
86+
<item name="grand_creditmemo_total" xsi:type="string">1.08</item>
8887
</item>
8988
<item name="1" xsi:type="array">
90-
<item name="grand_refund_total" xsi:type="string">134.07</item>
89+
<item name="grand_creditmemo_total" xsi:type="string">134.07</item>
9190
</item>
9291
</data>
9392
<data name="transactions/refund" xsi:type="array">

dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/PlaceOrderWithPaypalStep.php

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,55 +11,78 @@
1111
use Magento\Checkout\Test\Page\CheckoutOnepageSuccess;
1212
use Magento\Mtf\Fixture\FixtureFactory;
1313
use Magento\Mtf\TestStep\TestStepInterface;
14+
use Magento\Sales\Test\Fixture\OrderInjectable;
1415

1516
/**
16-
* Class PlaceOrderWithPaypalStep
17+
* Place order with Paypal in one page checkout.
1718
*/
1819
class PlaceOrderWithPaypalStep implements TestStepInterface
1920
{
2021
/**
22+
* Onepage checkout page.
23+
*
2124
* @var CheckoutOnepage
2225
*/
2326
private $checkoutOnepage;
2427

2528
/**
29+
* Assert that Order Grand Total is correct on checkout page review block.
30+
*
2631
* @var AssertGrandTotalOrderReview
2732
*/
2833
private $assertGrandTotalOrderReview;
2934

3035
/**
36+
* Assert billing address is not present in selected payment method.
37+
*
3138
* @var AssertBillingAddressAbsentInPayment
3239
*/
3340
private $assertBillingAddressAbsentInPayment;
3441

3542
/**
43+
* One page checkout success page.
44+
*
3645
* @var CheckoutOnepageSuccess
3746
*/
3847
private $checkoutOnepageSuccess;
3948

4049
/**
50+
* Price array.
51+
*
4152
* @var array
4253
*/
4354
private $prices;
4455

4556
/**
57+
* Factory for fixtures.
58+
*
4659
* @var FixtureFactory
4760
*/
4861
private $fixtureFactory;
4962

5063
/**
64+
* Array of product entities.
65+
*
5166
* @var array
5267
*/
5368
private $products;
5469

70+
/**
71+
* Fixture OrderInjectable.
72+
*
73+
* @var OrderInjectable
74+
*/
75+
private $order;
76+
5577
/**
5678
* @param CheckoutOnepage $checkoutOnepage
5779
* @param AssertGrandTotalOrderReview $assertGrandTotalOrderReview
5880
* @param AssertBillingAddressAbsentInPayment $assertBillingAddressAbsentInPayment
5981
* @param CheckoutOnepageSuccess $checkoutOnepageSuccess
6082
* @param FixtureFactory $fixtureFactory
6183
* @param array $products
62-
* @param array $prices
84+
* @param array|null $prices
85+
* @param OrderInjectable|null $order
6386
*/
6487
public function __construct(
6588
CheckoutOnepage $checkoutOnepage,
@@ -68,7 +91,8 @@ public function __construct(
6891
CheckoutOnepageSuccess $checkoutOnepageSuccess,
6992
FixtureFactory $fixtureFactory,
7093
array $products,
71-
array $prices = []
94+
array $prices = [],
95+
OrderInjectable $order = null
7296
) {
7397
$this->checkoutOnepage = $checkoutOnepage;
7498
$this->assertGrandTotalOrderReview = $assertGrandTotalOrderReview;
@@ -77,10 +101,13 @@ public function __construct(
77101
$this->fixtureFactory = $fixtureFactory;
78102
$this->products = $products;
79103
$this->prices = $prices;
104+
$this->order = $order;
80105
}
81106

82107
/**
83-
* @inheritdoc
108+
* Place order after checking order totals on review step.
109+
*
110+
* @return array
84111
*/
85112
public function run()
86113
{
@@ -94,15 +121,15 @@ public function run()
94121
->getSelectedPaymentMethodBlock()
95122
->clickPayWithPaypal();
96123
$this->checkoutOnepage->getBraintreePaypalBlock()->process($parentWindow);
97-
124+
$data = [
125+
'entity_id' => ['products' => $this->products]
126+
];
127+
$orderData = $this->order !== null ? $this->order->getData() : [];
98128
$order = $this->fixtureFactory->createByCode(
99129
'orderInjectable',
100-
[
101-
'data' => [
102-
'entity_id' => ['products' => $this->products]
103-
]
104-
]
130+
['data' => array_merge($data, $orderData)]
105131
);
132+
106133
return [
107134
'orderId' => $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(),
108135
'order' => $order

dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ class PlaceOrderStep implements TestStepInterface
7272
* @param AssertGrandTotalOrderReview $assertGrandTotalOrderReview
7373
* @param CheckoutOnepageSuccess $checkoutOnepageSuccess
7474
* @param FixtureFactory $fixtureFactory
75-
* @param OrderInjectable $order
76-
* @param array $products
77-
* @param array $prices
75+
* @param OrderInjectable|null $order
76+
* @param array|null $products
77+
* @param array|null $prices
7878
*/
7979
public function __construct(
8080
CheckoutOnepage $checkoutOnepage,

dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
</data>
1919
<data name="order/data/price/refund" xsi:type="array">
2020
<item name="0" xsi:type="array">
21-
<item name="grand_refund_total" xsi:type="string">15.00</item>
21+
<item name="grand_creditmemo_total" xsi:type="string">15.00</item>
2222
</item>
2323
</data>
2424
<data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data>

dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class Grid extends DataGrid
7070
*/
7171
public function getCreditMemoId()
7272
{
73+
$this->resetFilter();
7374
$this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH);
7475
return $this->_rootElement->find($this->creditMemoId)->getText();
7576
}
@@ -82,6 +83,7 @@ public function getCreditMemoId()
8283
public function getIds()
8384
{
8485
$result = [];
86+
$this->resetFilter();
8587
$this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH);
8688
$creditMemoIds = $this->_rootElement->getElements($this->creditMemoId);
8789
foreach ($creditMemoIds as $creditMemoId) {

dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public function processAssert(
4242
$actualRefundedAmount = $salesOrderView->getOrderHistoryBlock()->getRefundedAmount();
4343
foreach ($refundedPrices as $key => $refundedPrice) {
4444
\PHPUnit_Framework_Assert::assertRegExp(
45-
sprintf(self::REFUNDED_AMOUNT_PATTERN, $refundedPrice['grand_refund_total']),
45+
sprintf(self::REFUNDED_AMOUNT_PATTERN, $refundedPrice['grand_creditmemo_total']),
4646
$actualRefundedAmount[$key],
4747
'Incorrect refunded amount value for the order #' . $orderId
4848
);

dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public function processAssert(
3737
$salesOrderView->getOrderForm()->openTab('creditmemos');
3838
/** @var Grid $grid */
3939
$grid = $salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock();
40-
$amount = $order->getPrice();
40+
$amount = $order->getPrice()['refund'];
4141
foreach ($ids['creditMemoIds'] as $key => $creditMemoId) {
4242
$filter = [
4343
'id' => $creditMemoId,

dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@
1111
use Magento\Mtf\Constraint\AbstractConstraint;
1212

1313
/**
14-
* Class AssertRefundInRefundsGrid
15-
* Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount
14+
* Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount.
1615
*/
1716
class AssertRefundInRefundsGrid extends AbstractConstraint
1817
{
1918
/**
20-
* Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount
19+
* Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount.
2120
*
2221
* @param CreditMemoIndex $creditMemoIndex
2322
* @param OrderInjectable $order
@@ -27,7 +26,7 @@ class AssertRefundInRefundsGrid extends AbstractConstraint
2726
public function processAssert(CreditMemoIndex $creditMemoIndex, OrderInjectable $order, array $ids)
2827
{
2928
$creditMemoIndex->open();
30-
$amount = $order->getPrice();
29+
$amount = $order->getPrice()['refund'];
3130
$orderId = $order->getId();
3231
foreach ($ids['creditMemoIds'] as $key => $creditMemoId) {
3332
$filter = [
@@ -47,7 +46,7 @@ public function processAssert(CreditMemoIndex $creditMemoIndex, OrderInjectable
4746
}
4847

4948
/**
50-
* Returns a string representation of the object
49+
* Returns a string representation of the object.
5150
*
5251
* @return string
5352
*/

dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class AssertRefundNotInRefundsGrid extends AbstractConstraint
2626
public function processAssert(CreditMemoIndex $creditMemoIndex, OrderInjectable $order, array $ids)
2727
{
2828
$creditMemoIndex->open();
29-
$amount = $order->getPrice();
29+
$amount = $order->getPrice()['refund'];
3030
$orderId = $order->getId();
3131
foreach ($ids['creditMemoIds'] as $key => $creditMemoId) {
3232
$filter = [

0 commit comments

Comments
 (0)