Skip to content

Commit 98bac85

Browse files
committed
ACQE-6710:Check configuration for PayPal Payflow Link in Unites States
New Testcase has been added
1 parent 1b99b6d commit 98bac85

File tree

5 files changed

+231
-0
lines changed

5 files changed

+231
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
9+
<actionGroup name="AdminClearPayflowLinkExistingDataActionGroup">
10+
<annotations>
11+
<description>Check No Other Paypal Payment Solution Exist and If Exist then Clear the Credentials</description>
12+
</annotations>
13+
<magentoCLI command="config:set {{DefaultPaypalPayflowLinkBusinessAccount.path}} {{DefaultPaypalPayflowLinkBusinessAccount.value}}" stepKey="clearBusinessAccount"/>
14+
<magentoCLI command="config:set {{DefaultPaypalPayflowLinkPartner.path}} {{DefaultPaypalPayflowLinkPartner.value}}" stepKey="clearPartner"/>
15+
<magentoCLI command="config:set {{DefaultPaypalPayflowLinkVendor.path}} {{DefaultPaypalPayflowLinkVendor.value}}" stepKey="clearInputForVendor"/>
16+
<magentoCLI command="config:set {{DefaultPaypalPayflowLinkUser.path}} {{DefaultPaypalPayflowLinkUser.value}}" stepKey="clearInputForUser"/>
17+
<magentoCLI command="config:set {{DefaultPaypalPayflowLinkPassword.path}} {{DefaultPaypalPayflowLinkPassword.value}}" stepKey="clearInputForPassword"/>
18+
<magentoCLI command="config:set {{SandboxFlag.path}} {{SandboxFlag.default}}" stepKey="disableSandboxMode"/>
19+
</actionGroup>
20+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
9+
<actionGroup name="AdminEnablePaypalPayflowlinkThroughCLICommandActionGroup">
10+
<annotations>
11+
<description>Enable Paypal Payflow Link through CLI Command with all Credentials in Configuration</description>
12+
</annotations>
13+
<magentoCLI command="config:set {{PaypalPayflowEditionEmail.path}} {{PaypalPayflowEditionEmail.value}}" stepKey="enterInputForEmail"/>
14+
<magentoCLI command="config:set {{PaypalPayflowEditionPartner.path}} {{PaypalPayflowEditionPartner.value}}" stepKey="enterInputForPartner"/>
15+
<magentoCLI command="config:set {{PaypalPayflowEditionVendor.path}} {{PaypalPayflowEditionVendor.value}}" stepKey="enterInputForVendor"/>
16+
<magentoCLI command="config:set {{PaypalPayflowEditionUser.path}} {{PaypalPayflowEditionUser.value}}" stepKey="enterInputForUser"/>
17+
<magentoCLI command="config:set {{PaypalPayflowEditionPassword.path}} {{PaypalPayflowEditionPassword.value}}" stepKey="enterInputForPassword"/>
18+
<magentoCLI command="config:set {{SandboxFlag.path}} {{SandboxFlag.value}}" stepKey="enableSandboxMode"/>
19+
<magentoCLI command="config:set {{EnablePaypalPayflowEditionoMethod.path}} {{EnablePaypalPayflowEditionoMethod.value}}" stepKey="enablePayflowEdition"/>
20+
<magentoCLI command="config:set {{EnablePaypalExpressPayflow.path}} {{EnablePaypalExpressPayflow.value}}" stepKey="enablePaypalExpress"/>
21+
<magentoCLI command="config:set {{EnablePaypalCredit.path}} {{EnablePaypalCredit.value}}" stepKey="enablePaypalCredit"/>
22+
</actionGroup>
23+
</actionGroups>

app/code/Magento/Paypal/Test/Mftf/Data/PaypalData.xml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,102 @@
224224
<data key="cardNumberEnding">1111</data>
225225
<data key="cardExpire">1/2030</data>
226226
</entity>
227+
<entity name="DefaultPaypalPayflowLinkConfig" type="paypal_payment_flow_Link_config_state">
228+
<requiredEntity type="business_account">DefaultPaypalPayflowLinkBusinessAccount</requiredEntity>
229+
<requiredEntity type="partner">DefaultPaypalPayflowLinkPartner</requiredEntity>
230+
<requiredEntity type="user">DefaultPaypalPayflowLinkUser</requiredEntity>
231+
<requiredEntity type="vendor">DefaultPaypalPayflowLinkVendor</requiredEntity>
232+
<requiredEntity type="pwd">DefaultPaypalPayflowLinkPassword</requiredEntity>
233+
</entity>
234+
<entity name="DefaultPaypalPayflowLinkBusinessAccount" type="business_account">
235+
<data key="path">paypal/general/business_account</data>
236+
<data key="value">""</data>
237+
</entity>
238+
<entity name="DefaultPaypalPayflowLinkPartner" type="partner">
239+
<data key="path">payment/payflow_link/partner</data>
240+
<data key="value">""</data>
241+
</entity>
242+
<entity name="DefaultPaypalPayflowLinkUser" type="user">
243+
<data key="path">payment/payflow_link/user</data>
244+
<data key="value">""</data>
245+
</entity>
246+
<entity name="DefaultPaypalPayflowLinkVendor" type="vendor">
247+
<data key="path">payment/payflow_link/vendor</data>
248+
<data key="value">""</data>
249+
</entity>
250+
<entity name="DefaultPaypalPayflowLinkPassword" type="pwd">
251+
<data key="path">payment/payflow_link/pwd</data>
252+
<data key="value">""</data>
253+
</entity>
254+
<entity name="EnablePaypalPayflowEdition" type="custom_paypal_paymentsflowlink_config_state">
255+
<requiredEntity type="enable-payflow-link">EnablePaypalPayflowEditionoMethod</requiredEntity>
256+
<requiredEntity type="enable_express_checkout">EnablePaypalExpressCheckout</requiredEntity>
257+
</entity>
258+
<entity name="RollbackPaypalPayflowEdition" type="custom_paypal_paymentsflowlink_config_state">
259+
<requiredEntity type="enable-payflow-link">DisablePaypalPayflowEditionMethod</requiredEntity>
260+
<requiredEntity type="enable_express_checkout">DisablePaypalExpressCheckout</requiredEntity>
261+
</entity>
262+
<entity name="PaypalPayflowEditionConfig" type="paypal_payment_flow_Link_config_state">
263+
<requiredEntity type="business_account">PaypalPayflowEditionBusinessAccount</requiredEntity>
264+
<requiredEntity type="partner">PaypalPayflowEditionPartner</requiredEntity>
265+
<requiredEntity type="user">PaypalPayflowEditionUser</requiredEntity>
266+
<requiredEntity type="vendor">PaypalPayflowEditionVendor</requiredEntity>
267+
<requiredEntity type="pwd">PaypalPayflowEditionPassword</requiredEntity>
268+
<requiredEntity type="sandbox_flag">SandboxFlag</requiredEntity>
269+
</entity>
270+
<entity name="PaypalPayflowEditionEmail" type="text">
271+
<data key="path">paypal/general/business_account</data>
272+
<data key="value">us_m2_biz@ebay.com</data>
273+
</entity>
274+
<entity name="PaypalPayflowEditionPartner" type="text">
275+
<data key="path">payment/payflow_link/partner</data>
276+
<data key="value">PayPal</data>
277+
</entity>
278+
<entity name="PaypalPayflowEditionUser" type="password">
279+
<data key="path">payment/payflow_link/user</data>
280+
<data key="value">mpilink</data>
281+
</entity>
282+
<entity name="PaypalPayflowEditionVendor" type="text">
283+
<data key="path">payment/payflow_link/vendor</data>
284+
<data key="value">mpilink</data>
285+
</entity>
286+
<entity name="PaypalPayflowEditionPassword" type="password">
287+
<data key="path">payment/payflow_link/pwd</data>
288+
<data key="value">1234_1234L!</data>
289+
</entity>
290+
<entity name="SandboxFlag" type="sandbox_flag">
291+
<data key="path">payment/payflow_link/sandbox_flag</data>
292+
<data key="value">1</data>
293+
<data key="default">0</data>
294+
</entity>
295+
<entity name="EnablePaypalPayflowEditionoMethod" type="enable-payflow-link">
296+
<data key="path">payment/payflow_link/active</data>
297+
<data key="value">1</data>
298+
</entity>
299+
<entity name="EnablePaypalExpressPayflow" type="enable_express_checkout">
300+
<data key="path">payment/payflow_express/active</data>
301+
<data key="value">1</data>
302+
</entity>
303+
<entity name="EnablePaypalCredit" type="enable_payflow_express_bml">
304+
<data key="path">payment/payflow_express_bml/active</data>
305+
<data key="value">1</data>
306+
</entity>
307+
<entity name="DisablePaypalCredit" type="enable_payflow_express_bml">
308+
<data key="path">payment/payflow_express_bml/active</data>
309+
<data key="value">0</data>
310+
</entity>
311+
<entity name="DisablePaypalPayflowEditionMethod" type="enable-payflow-link">
312+
<data key="path">payment/payflow_link/active</data>
313+
<data key="value">0</data>
314+
</entity>
315+
<entity name="DisablePaypalExpressPayflow" type="enable_express_checkout">
316+
<data key="path">payment/payflow_express/active</data>
317+
<data key="value">0</data>
318+
</entity>
319+
<entity name="DisableSandboxFlag" type="sandbox_flag">
320+
<data key="path">payment/payflow_link/sandbox_flag</data>
321+
<data key="value">0</data>
322+
</entity>
227323
<entity name="SamplePaypalExpressConfig2" type="paypal_express_config">
228324
<data key="paypal_express_email">rlus_1349181941_biz@ebay.com</data>
229325
<data key="paypal_express_api_username">rlus_1349181941_biz_api1.ebay.com</data>

app/code/Magento/Paypal/Test/Mftf/Section/PayPalExpressCheckoutConfigSection/CheckoutPaymentSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<element name="PayPalBtn" type="radio" selector=".paypal-button.paypal-button-number-0" timeout="30"/>
1717
<element name="ContinuePayPalBtn" type="radio" selector="//span[text()='Continue to PayPal']"/>
1818
<element name="PayPalExpressCheckoutPayFlowEdition" type="radio" selector="input#payflow_express.radio"/>
19+
<element name="PayFlowCredit" type="radio" selector="input#payflow_express_bml.radio"/>
1920
<element name="continueButton" type="button" selector="//div[@class='payment-method _active']//button[@class='action primary checkout']/span[text()='Continue to PayPal']"/>
2021
<element name="PayPalPayflowLinkRadio" type="radio" selector="input#payflow_link.radio" timeout="30"/>
2122
<element name="cntinuebtn" type="button" selector="//button[@data-role='review-save']/span[text()='Continue']" timeout="10"/>
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="StorefrontAssertPayflowlinkForUnitedStatesTest">
11+
<annotations>
12+
<features value="PayPal"/>
13+
<stories value="Payment methods"/>
14+
<title value="Check configuration for PayPal Payflow Link in Unites States"/>
15+
<description value="Check paypal Credit payment option's enablement and disablement based on the configuration setting in backend"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="AC-5217"/>
18+
</annotations>
19+
<before>
20+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
21+
<createData entity="SimpleSubCategory" stepKey="simpleCategory"/>
22+
<createData entity="SimpleProduct" stepKey="simpleProduct">
23+
<requiredEntity createDataKey="simpleCategory"/>
24+
</createData>
25+
<magentoCLI command="config:set paypal/general/merchant_country US" stepKey="setMerchantCountry"/>
26+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
27+
<actionGroup ref="AdminClearPaypalPaymentStandardExistingDataActionGroup" stepKey="clearValuesPresentInPayflowLink"/>
28+
</before>
29+
<after>
30+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
31+
<magentoCLI command="config:set paypal/general/merchant_country 0" stepKey="setMerchantCountryAsUS"/>
32+
<magentoCLI command="config:set payment/payflow_link/active 0" stepKey="disablePayPalPayflowLink"/>
33+
<actionGroup ref="AdminClearPaypalPaymentStandardExistingDataActionGroup" stepKey="clearDataPresentInPayflowLink"/>
34+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
35+
<deleteData createDataKey="simpleProduct" stepKey="deleteProduct"/>
36+
<deleteData createDataKey="simpleCategory" stepKey="deleteCategory"/>
37+
</after>
38+
<!--Admin navigate to payment configuration page and assert no other paypal payment is enabled-->
39+
<actionGroup ref="AdminEnablePaypalPayflowlinkThroughCLICommandActionGroup" stepKey="configurePayflowlinkThroughCLICommand"/>
40+
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="performReindex">
41+
<argument name="indices" value=""/>
42+
</actionGroup>
43+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="performCleanCache">
44+
<argument name="tags" value="config full_page"/>
45+
</actionGroup>
46+
<!--Login to storefront as guest customer-->
47+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="goToStoreFront"/>
48+
<waitForPageLoad stepKey="waitForProductPage"/>
49+
<!--Add simple product-->
50+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProductToCart">
51+
<argument name="product" value="$simpleProduct$"/>
52+
</actionGroup>
53+
<!--Go to cart page-->
54+
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="gotoCart"/>
55+
<!--Open cart page and proceed to checkout-->
56+
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="goToCheckoutCartPage"/>
57+
<actionGroup ref="StorefrontClickProceedToCheckoutActionGroup" stepKey="clickProceedToCheckout"/>
58+
<!--Fill Shipping Address-->
59+
<actionGroup ref="GuestCheckoutFillNewShippingAddressActionGroup" stepKey="fillShippingAddress">
60+
<argument name="customer" value="$$createCustomer$$" />
61+
<argument name="address" value="US_Address_TX"/>
62+
</actionGroup>
63+
<!-- Select shipping -->
64+
<actionGroup ref="StorefrontSetShippingMethodActionGroup" stepKey="selectShippingMethodAsFlatRate">
65+
<argument name="shippingMethodName" value="Flat Rate"/>
66+
</actionGroup>
67+
<!-- Go to Order review -->
68+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="goToCheckoutPaymentPage"/>
69+
<waitForPageLoad stepKey="waitForPaymentMethodPageToLoad"/>
70+
<!-- Assert Paypal Solution Payment method In Storefront-->
71+
<waitForElementVisible selector="{{CheckoutPaymentSection.PayPalExpressCheckoutPayFlowEdition}}" stepKey="waitForPayPalPayflowEditionRadioButton"/>
72+
<waitForElementVisible selector="{{CheckoutPaymentSection.PayFlowCredit}}" stepKey="waitForPayPalPayflowCreditRadioButton"/>
73+
<waitForElementVisible selector="{{CheckoutPaymentSection.PayPalPayflowLinkRadio}}" stepKey="waitForCreditCardRadioButton"/>
74+
<!-- Disable Payflow Solution And Assert Payment Method In Storefront -->
75+
<magentoCLI command="config:set {{DisablePaypalCredit.path}} {{DisablePaypalCredit.value}}" stepKey="disablePayPalCredit"/>
76+
<magentoCLI command="config:set {{DisablePaypalExpressPayflow.path}} {{DisablePaypalExpressPayflow.value}}" stepKey="disablePaypalExpressCheckout"/>
77+
<magentoCLI command="config:set {{DisablePaypalPayflowEditionMethod.path}} {{DisablePaypalPayflowEditionMethod.value}}" stepKey="disablePayflowSolution"/>
78+
<reloadPage stepKey="reloadPaymentPage"/>
79+
<waitForElementNotVisible selector="{{CheckoutPaymentSection.PayPalExpressCheckoutPayFlowEdition}}" stepKey="waitForPayPalPayflowEditionRadioBtn"/>
80+
<waitForElementNotVisible selector="{{CheckoutPaymentSection.PayFlowCredit}}" stepKey="waitForPayPalPayflowCreditRadioBtn"/>
81+
<waitForElementNotVisible selector="{{CheckoutPaymentSection.PayPalPayflowLinkRadio}}" stepKey="waitForCreditCardRadioBtn"/>
82+
<!-- Enable Payflow Link Solution & Payflow Edition And Assert Payment Method In Storefront -->
83+
<magentoCLI command="config:set {{EnablePaypalPayflowEditionoMethod.path}} {{EnablePaypalPayflowEditionoMethod.value}}" stepKey="enablePayflowEdition"/>
84+
<reloadPage stepKey="reloadPaymentPageAgain"/>
85+
<waitForElementVisible selector="{{CheckoutPaymentSection.PayPalPayflowLinkRadio}}" stepKey="waitForCreditCardRadioButtonToBeVisible"/>
86+
<magentoCLI command="config:set {{EnablePaypalExpressPayflow.path}} {{EnablePaypalExpressPayflow.value}}" stepKey="enablePaypalExpressAgain"/>
87+
<reloadPage stepKey="reloadPaymentMethodPage"/>
88+
<waitForElementVisible selector="{{CheckoutPaymentSection.PayPalExpressCheckoutPayFlowEdition}}" stepKey="waitForPayPalPayflowEditionRadioBtnToBeVisible"/>
89+
<waitForElementVisible selector="{{CheckoutPaymentSection.PayPalPayflowLinkRadio}}" stepKey="waitForCreditCardRadioBtnToBeVisible"/>
90+
</test>
91+
</tests>

0 commit comments

Comments
 (0)