Skip to content

Commit 8e0f2a2

Browse files
committed
Merge remote-tracking branch 'mavericks/MTA-3790-PR' into mavericks-PR
2 parents 5ffafe2 + 9d2df15 commit 8e0f2a2

File tree

11 files changed

+225
-57
lines changed

11 files changed

+225
-57
lines changed

dev/tests/functional/tests/app/Magento/Authorizenet/Test/TestCase/OnePageCheckoutTest.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@
2222
<data name="creditCard/dataset" xsi:type="string">visa_authorizenet</data>
2323
<data name="configData" xsi:type="string">authorizenet</data>
2424
<data name="status" xsi:type="string">Processing</data>
25-
<data name="transactionDetails" xsi:type="array">
26-
<item name="isClosed" xsi:type="string">No</item>
27-
<item name="transactionType" xsi:type="string">Authorization</item>
28-
</data>
2925
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S0</data>
3026
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
3127
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<data name="payment/method" xsi:type="string">braintree</data>
2424
<data name="creditCardClass" xsi:type="string">credit_card_braintree</data>
2525
<data name="creditCard/dataset" xsi:type="string">visa_braintree_3dsecure</data>
26+
<data name="isVaultEnabled" xsi:type="boolean">false</data>
2627
<data name="configData" xsi:type="string">braintree, braintree_3d_secure_not_triggered_due_threshold</data>
2728
<data name="status" xsi:type="string">Processing</data>
2829
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data>
@@ -46,6 +47,7 @@
4647
<data name="payment/method" xsi:type="string">braintree</data>
4748
<data name="creditCardClass" xsi:type="string">credit_card_braintree</data>
4849
<data name="creditCard/dataset" xsi:type="string">visa_braintree_3dsecure</data>
50+
<data name="isVaultEnabled" xsi:type="boolean">false</data>
4951
<data name="configData" xsi:type="string">braintree, braintree_3d_secure_uk</data>
5052
<data name="status" xsi:type="string">Processing</data>
5153
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data>
@@ -69,6 +71,7 @@
6971
<data name="payment/method" xsi:type="string">braintree</data>
7072
<data name="creditCardClass" xsi:type="string">credit_card_braintree</data>
7173
<data name="creditCard/dataset" xsi:type="string">visa_braintree</data>
74+
<data name="isVaultEnabled" xsi:type="boolean">false</data>
7275
<data name="configData" xsi:type="string">braintree</data>
7376
<data name="status" xsi:type="string">Processing</data>
7477
<data name="tag" xsi:type="string">test_type:extended_acceptance_test, test_type:3rd_party_test, severity:S0</data>
@@ -96,6 +99,7 @@
9699
<data name="payment/method" xsi:type="string">braintree</data>
97100
<data name="creditCardClass" xsi:type="string">credit_card_braintree</data>
98101
<data name="creditCard/dataset" xsi:type="string">visa_braintree</data>
102+
<data name="isVaultEnabled" xsi:type="boolean">false</data>
99103
<data name="configData" xsi:type="string">braintree, braintree_sale</data>
100104
<data name="status" xsi:type="string">Processing</data>
101105
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S0</data>

dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method.php

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,6 @@ class Method extends Block
3535
*/
3636
protected $billingAddressSelector = '.payment-method-billing-address';
3737

38-
/**
39-
* Save credit card check box.
40-
*
41-
* @var string
42-
*/
43-
protected $vaultCheckbox = '#%s_enable_vault';
44-
4538
/**
4639
* PayPal load spinner.
4740
*
@@ -137,17 +130,4 @@ public function getBillingBlock()
137130
['element' => $element]
138131
);
139132
}
140-
141-
/**
142-
* Save credit card.
143-
*
144-
* @param string $paymentMethod
145-
* @param string $creditCardSave
146-
* @return void
147-
*/
148-
public function saveCreditCard($paymentMethod, $creditCardSave)
149-
{
150-
$saveCard = sprintf($this->vaultCheckbox, $paymentMethod);
151-
$this->_rootElement->find($saveCard, Locator::SELECTOR_CSS, 'checkbox')->setValue($creditCardSave);
152-
}
153133
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/**
4+
* Copyright © 2016 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
9+
<testCase name="Magento\Checkout\Test\TestCase\OnePageCheckoutTest" summary="Guest Checkout with PayPal Payflow Pro credit card">
10+
<variation name="OnePageCheckoutPayflowProVariation1" summary="Guest Checkout with PayPal Payflow Pro credit card" ticketId="MAGETWO-60583">
11+
<data name="products/0" xsi:type="string">catalogProductSimple::product_10_dollar</data>
12+
<data name="customer/dataset" xsi:type="string">default</data>
13+
<data name="shippingAddress/dataset" xsi:type="string">US_address_1</data>
14+
<data name="taxRule" xsi:type="string">us_ca_ny_rule</data>
15+
<data name="checkoutMethod" xsi:type="string">guest</data>
16+
<data name="shipping/shipping_service" xsi:type="string">Flat Rate</data>
17+
<data name="shipping/shipping_method" xsi:type="string">Fixed</data>
18+
<data name="payment/method" xsi:type="string">payflowpro</data>
19+
<data name="prices" xsi:type="array">
20+
<item name="grandTotal" xsi:type="string">15.83</item>
21+
</data>
22+
<data name="creditCardClass" xsi:type="string">credit_card</data>
23+
<data name="creditCard/dataset" xsi:type="string">visa_default</data>
24+
<data name="isVaultEnabled" xsi:type="boolean">false</data>
25+
<data name="configData" xsi:type="string">payflowpro</data>
26+
<data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S0</data>
27+
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
28+
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
29+
<constraint name="Magento\Sales\Test\Constraint\AssertAuthorizationInCommentsHistory" />
30+
</variation>
31+
</testCase>
32+
</config>
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
/**
3+
* Copyright © 2016 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Vault\Test\Block\Onepage\Payment\Method;
8+
9+
use Magento\Mtf\Client\Locator;
10+
use Magento\Checkout\Test\Block\Onepage\Payment\Method;
11+
12+
/**
13+
* Checkout payment method vault block.
14+
*/
15+
class Vault extends Method
16+
{
17+
/**
18+
* Credit card selector.
19+
*
20+
* @var string
21+
*/
22+
private $creditCardSelector = './/*[contains(@for, "_vault_item")]/span[text()="%s"]';
23+
24+
/**
25+
* Save credit card check box.
26+
*
27+
* @var string
28+
*/
29+
protected $vaultCheckbox = '#%s_enable_vault';
30+
31+
/**
32+
* Save credit card.
33+
*
34+
* @param string $paymentMethod
35+
* @param string $creditCardSave
36+
* @return void
37+
*/
38+
public function saveCreditCard($paymentMethod, $creditCardSave)
39+
{
40+
$saveCard = sprintf($this->vaultCheckbox, $paymentMethod);
41+
$this->_rootElement->find($saveCard, 'checkbox')->setValue($creditCardSave);
42+
}
43+
44+
/**
45+
* Check if Save credit card check box is visible.
46+
*
47+
* @param string $paymentMethod
48+
* @return bool
49+
*/
50+
public function isVaultVisible($paymentMethod)
51+
{
52+
$saveCard = sprintf($this->vaultCheckbox, $paymentMethod);
53+
return $this->_rootElement->find($saveCard, 'checkbox')->isVisible();
54+
}
55+
56+
/**
57+
* Verify if saved credit card is present as a payment option.
58+
*
59+
* @param string $creditCard
60+
* @return bool
61+
*/
62+
public function isSavedCreditCardPresent($creditCard)
63+
{
64+
$paymentLabelSelector = sprintf($this->creditCardSelector, $creditCard);
65+
return $this->_rootElement->find($paymentLabelSelector, Locator::SELECTOR_XPATH)->isVisible();
66+
}
67+
}

dev/tests/functional/tests/app/Magento/Vault/Test/Block/VaultPayment.php

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
/**
3+
* Copyright © 2016 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Vault\Test\Constraint;
7+
8+
use Magento\Checkout\Test\Page\CheckoutOnepage;
9+
use Magento\Mtf\Constraint\AbstractConstraint;
10+
11+
/**
12+
* Assert that 'Save for later use' checkbox is not present in credit card form.
13+
*/
14+
class AssertSaveCreditCardOptionNotPresent extends AbstractConstraint
15+
{
16+
/**
17+
* Assert that 'Save for later use' checkbox is not present in credit card form.
18+
*
19+
* @param CheckoutOnepage $checkoutOnepage
20+
* @param string $payment
21+
* @return void
22+
*/
23+
public function processAssert(CheckoutOnepage $checkoutOnepage, $payment)
24+
{
25+
\PHPUnit_Framework_Assert::assertFalse(
26+
$checkoutOnepage->getVaultPaymentBlock()->isVaultVisible($payment),
27+
'Save for later use checkbox is present.'
28+
);
29+
}
30+
31+
/**
32+
* Returns string representation of successful assertion.
33+
*
34+
* @return string
35+
*/
36+
public function toString()
37+
{
38+
return 'Save for later use checkbox is not present in credit card form.';
39+
}
40+
}

dev/tests/functional/tests/app/Magento/Vault/Test/Page/CheckoutOnepage.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/pages.xsd">
99
<page name="CheckoutOnepage" mca="checkout" module="Magento_Checkout">
10-
<block name="vaultPaymentBlock" class="Magento\Vault\Test\Block\VaultPayment" locator="#checkout-step-payment" strategy="css selector" />
10+
<block name="vaultPaymentBlock" class="Magento\Vault\Test\Block\Onepage\Payment\Method\Vault" locator="#checkout-step-payment" strategy="css selector" />
1111
</page>
1212
</config>
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?php
2+
/**
3+
* Copyright © 2016 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Vault\Test\TestStep;
7+
8+
use Magento\Checkout\Test\Page\CheckoutOnepage;
9+
use Magento\Mtf\TestStep\TestStepInterface;
10+
use Magento\Vault\Test\Constraint\AssertSaveCreditCardOptionNotPresent;
11+
12+
/**
13+
* Check if customer cannot save credit card for later use if vault is disabled.
14+
*/
15+
class checkSaveCreditCardOptionStep implements TestStepInterface
16+
{
17+
/**
18+
* Onepage checkout page.
19+
*
20+
* @var CheckoutOnepage
21+
*/
22+
private $checkoutOnepage;
23+
24+
/**
25+
* Assert that 'Save for later use' checkbox is not present in credit card form.
26+
*
27+
* @var AssertSaveCreditCardOptionNotPresent
28+
*/
29+
private $assertSaveCreditCardOptionNotPresent;
30+
31+
/**
32+
* Payment method.
33+
*
34+
* @var array
35+
*/
36+
private $payment;
37+
38+
/**
39+
* If vault is enabled for payment method.
40+
*
41+
* @var bool
42+
*/
43+
private $isVaultEnabled;
44+
45+
/**
46+
* @param CheckoutOnepage $checkoutOnepage
47+
* @param AssertSaveCreditCardOptionNotPresent $assertSaveCreditCardOptionNotPresent
48+
* @param array $payment
49+
* @param bool $isVaultEnabled
50+
*/
51+
public function __construct(
52+
CheckoutOnepage $checkoutOnepage,
53+
AssertSaveCreditCardOptionNotPresent $assertSaveCreditCardOptionNotPresent,
54+
array $payment,
55+
$isVaultEnabled
56+
) {
57+
$this->checkoutOnepage = $checkoutOnepage;
58+
$this->assertSaveCreditCardOptionNotPresent = $assertSaveCreditCardOptionNotPresent;
59+
$this->payment = $payment;
60+
$this->isVaultEnabled = $isVaultEnabled;
61+
}
62+
63+
/**
64+
* Run step that verifies if 'Save for later use' checkbox is not present in credit card form.
65+
*
66+
* @return void
67+
*/
68+
public function run()
69+
{
70+
if ($this->isVaultEnabled === false) {
71+
$this->assertSaveCreditCardOptionNotPresent->processAssert(
72+
$this->checkoutOnepage,
73+
$this->payment['method']
74+
);
75+
}
76+
}
77+
}

dev/tests/functional/tests/app/Magento/Vault/Test/TestStep/SaveCreditCardStep.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public function __construct(
5757
*/
5858
public function run()
5959
{
60-
$this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->saveCreditCard(
60+
$this->checkoutOnepage->getVaultPaymentBlock()->saveCreditCard(
6161
$this->payment['method'],
6262
$this->creditCardSave
6363
);

0 commit comments

Comments
 (0)