Skip to content

Commit d66a958

Browse files
committed
ACQE-6571:Check config for payments pro in Unites States
Update on Testcase
1 parent 4d28e1f commit d66a958

File tree

5 files changed

+211
-0
lines changed

5 files changed

+211
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminAssertPaypalCreditPaymentsProActionGroup" extends="AdminConfigurePayPalPaymentsProActionGroup">
12+
<annotations>
13+
<description>Configuration for Payments pro with Sample PayPal credentials and Assert Other Paypal Solution</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="countryCode" type="string" defaultValue="us"/>
17+
</arguments>
18+
<remove keyForRemoval="expandOtherPaypalConfigButton"/>
19+
<conditionalClick selector="{{OtherPayPalPaymentsConfigSection.expandTab(countryCode)}}" dependentSelector="{{OtherPayPalPaymentsConfigSection.expandedTab(countryCode)}}" visible="false" stepKey="clickOtherPayPalPaymentsSection" before="waitForPayPalPaymentsProConfigureBtn"/>
20+
<seeOptionIsSelected selector="{{PayPalPaymentsProConfigSection.enableSolution(countryCode)}}" userInput="No" stepKey="seeEnableThisSolutionIsSetAsNo" after="enableTestMode"/>
21+
<assertElementContainsAttribute stepKey="seeEnablePaypalCreditIsDisabled" after="seeEnableThisSolutionIsSetAsNo">
22+
<expectedResult selector="{{PayPalPaymentsProConfigSection.enablePaypalCredit(countryCode)}}" attribute="disabled" type="string"></expectedResult>
23+
</assertElementContainsAttribute>
24+
<assertElementContainsAttribute stepKey="seeEnableVaultIsDisabled" after="scrollToBottom">
25+
<expectedResult selector="{{PayPalPaymentsProConfigSection.enableVault(countryCode)}}" attribute="disabled" type="string"></expectedResult>
26+
</assertElementContainsAttribute>
27+
<!-- Check that Paypal Credit and Vault is set to No and it is disabled -->
28+
<seeOptionIsSelected selector="{{PayPalPaymentsProConfigSection.enablePaypalCredit(countryCode)}}" userInput="No" stepKey="seePaypalCreditIsSetAsNo" after="seeEnablePaypalCreditIsDisabled"/>
29+
<seeOptionIsSelected selector="{{PayPalPaymentsProConfigSection.enableVault(countryCode)}}" userInput="No" stepKey="seeValultIsSetAsNo" after="seeEnableVaultIsDisabled"/>
30+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.disabledEnableSolution(countryCode)}}" stepKey="assertGreenTickMarkForEnableThisSolutionDropdown" after="enableSolution"/>
31+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.disabledPaypalCredit(countryCode)}}" stepKey="assertGreenTickMarkForEnablePaypalCredit" after="assertGreenTickMarkForEnableThisSolutionDropdown"/>
32+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.sortOrder(countryCode)}}" stepKey="assertSortOrder" after="assertGreenTickMarkForEnablePaypalCredit"/>
33+
<selectOption selector="{{PayPalPaymentsProConfigSection.enableVault(countryCode)}}" userInput="Yes" stepKey="setValultIsSetAsYes" before="waitForSaveButtonBecomeClickable"/>
34+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.disabledVault(countryCode)}}" stepKey="assertGreenTickMarkForEnableVaultDropdown" after="setValultIsSetAsYes"/>
35+
</actionGroup>
36+
</actionGroups>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminAssetForPayallInOneActionGroup">
12+
<annotations>
13+
<description>Admin navigate to payment configuration page and assert Pay All In One Link and Other Payment Services</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="countryCode" type="string" defaultValue="us"/>
17+
</arguments>
18+
<amOnPage url="{{AdminConfigPaymentMethodsPage.url}}" stepKey="navigateToPaymentConfigurationPage"/>
19+
<waitForPageLoad stepKey="waitForConfigPageLoad"/>
20+
<conditionalClick selector="{{OtherPayPalPaymentsConfigSection.expandTab1(countryCode)}}" dependentSelector="{{OtherPayPalPaymentsConfigSection.expandedTab(countryCode)}}" visible="false" stepKey="clickOtherPayPalPaymentsSection"/>
21+
<conditionalClick selector="{{PayPalPaymentsProConfigSection.paypalAllInOnePaymentSolutions(countryCode)}}" dependentSelector="{{PayPalPaymentsProConfigSection.paypalAllInOnePaymentSolutions(countryCode)}}" visible="false" stepKey="clickPayPalPaymentsSection"/>
22+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.paypalAllInOnePaymentSolutions(countryCode)}}" stepKey="assertPayinAllLink"/>
23+
<waitForElementVisible selector="{{AdminPayPalPayFlowLinkConfigSection.paymentGateway(countryCode)}}" stepKey="assertPaypalPaymentGateway"/>
24+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.paymentsAdvanced(countryCode)}}" stepKey="assertPaymentAdvanced"/>
25+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.configureBtn(countryCode)}}" stepKey="assertPaymentsPro"/>
26+
<waitForElementVisible selector="{{AdminPaypalStandardConfigSection.configureBtn(countryCode)}}" stepKey="assertPaymentStandard"/>
27+
</actionGroup>
28+
</actionGroups>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminClearPaymentsProActionGroup">
12+
<annotations>
13+
<description>Admin goes to payments pro configuration and clears provided Sample PayPal credentials</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="countryCode" type="string" defaultValue="us"/>
17+
</arguments>
18+
<amOnPage url="{{AdminConfigPaymentMethodsPage.url}}" stepKey="navigateToPaymentConfigurationPage"/>
19+
<waitForPageLoad stepKey="waitForConfigPageLoad"/>
20+
<waitForElementVisible selector="{{OtherPayPalPaymentsConfigSection.expandTab(countryCode)}}" stepKey="waitForOtherPayPalPaymentsSection"/>
21+
<conditionalClick selector="{{OtherPayPalPaymentsConfigSection.expandTab(countryCode)}}" dependentSelector="{{OtherPayPalPaymentsConfigSection.expandedTab(countryCode)}}" visible="false" stepKey="clickOtherPayPalPaymentsSection"/>
22+
<waitForElementClickable selector="{{PayPalPaymentsProConfigSection.configureBtn(countryCode)}}" stepKey="waitForPayPalPaymentsProConfigureBtn"/>
23+
<click selector ="{{PayPalPaymentsProConfigSection.configureBtn(countryCode)}}" stepKey="clickPayPalPaymentsProConfigureBtn"/>
24+
<waitForPageLoad stepKey="waitForPaymethodConfigPageLoad"/>
25+
<clearField selector="{{PayPalPaymentsProConfigSection.partner(countryCode)}}" stepKey="clearInputPartnerField"/>
26+
<clearField selector="{{PayPalPaymentsProConfigSection.vendor(countryCode)}}" stepKey="clearInputVendorField"/>
27+
<clearField selector="{{PayPalPaymentsProConfigSection.user(countryCode)}}" stepKey="clearInputUsereField"/>
28+
<clearField selector="{{PayPalPaymentsProConfigSection.password(countryCode)}}" stepKey="clearInputPasswordField"/>
29+
<selectOption selector="{{PayPalPaymentsProConfigSection.testMode(countryCode)}}" userInput="No" stepKey="disableTestMode"/>
30+
</actionGroup>
31+
</actionGroups>

app/code/Magento/Paypal/Test/Mftf/Section/PayPalPaymentsProConfigSection.xml

100644100755
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,13 @@
1616
<element name="testMode" type="select" selector="#payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_paypal_payflow_api_settings_sandbox_flag" parameterized="true"/>
1717
<element name="enableSolution" type="select" selector="#payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_enable_paypal_payflow" parameterized="true"/>
1818
<element name="paymentsAdvanced" type="button" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced-head" parameterized="true"/>
19+
<element name="enablePaypalCredit" type="select" selector="#payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_enable_express_checkout_bml_payflow" parameterized="true"/>
20+
<element name="enableVault" type="select" selector="#payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_payflowpro_cc_vault_active" parameterized="true"/>
21+
<element name="disabledEnableSolution" type="select" selector="//*[contains(@id,'payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_enable_paypal_payflow')]//label[@class='enabled']" parameterized="true"/>
22+
<element name="disabledPaypalCredit" type="select" selector="//*[contains(@id,'payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_enable_express_checkout_bml_payflow')]//label[@class='enabled']" parameterized="true"/>
23+
<element name="disabledVault" type="select" selector="//*[contains(@id,'payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_payflowpro_cc_vault_active')]//label[@class='enabled']" parameterized="true"/>
24+
<element name="closeButton" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk-head span[class='state-opened']" parameterized="true"/>
25+
<element name="sortOrder" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_wpp_usuk_paypal_payflow_required_express_checkout_bml_sort_order" parameterized="true"/>
26+
<element name="paypalAllInOnePaymentSolutions" type="input" selector="//*[contains(@id, 'payment_{{countryCode}}_paypal_group_all_in_one-head')]" parameterized="true" />
1927
</section>
2028
</sections>
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
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="AdminCheckConfigPaymentsProInUnitedstatesTest">
11+
<annotations>
12+
<features value="PayPal"/>
13+
<stories value="Payment methods"/>
14+
<title value="Check config for payments pro in Unites States"/>
15+
<description value="Check paypal payments pro payment option's enablement and disablement based on the configuration setting For Payments Pro in backend"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="AC-4790"/>
18+
</annotations>
19+
<before>
20+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
21+
<createData entity="SimpleProduct" stepKey="simpleProduct"/>
22+
<magentoCLI command="config:set paypal/general/merchant_country US" stepKey="setMerchantCountry"/>
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
</before>
25+
<after>
26+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
27+
<magentoCLI command="config:set paypal/general/merchant_country US" stepKey="setMerchantCountryAsUS"/>
28+
<magentoCLI command="config:set payment/paypal_payment_pro/active 0" stepKey="disablePayPalPaymentsPro"/>
29+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
30+
<deleteData createDataKey="simpleProduct" stepKey="deleteProduct"/>
31+
</after>
32+
<amOnPage url="{{AdminConfigPaymentMethodsPage.url}}" stepKey="navigateToPaymentConfigurationPage"/>
33+
<waitForPageLoad stepKey="waitForConfigPageLoad"/>
34+
<conditionalClick selector="{{OtherPayPalPaymentsConfigSection.expandTab1('us')}}" dependentSelector="{{OtherPayPalPaymentsConfigSection.expandedTab('us')}}" visible="false" stepKey="clickOtherPayPalPaymentsSection"/>
35+
<conditionalClick selector="{{PayPalPaymentsProConfigSection.paypalAllInOnePaymentSolutions('us')}}" dependentSelector="{{PayPalPaymentsProConfigSection.paypalAllInOnePaymentSolutions('us')}}" visible="true" stepKey="clickPayPalPaymentsSection"/>
36+
<waitForElementNotVisible selector="{{PayPalPaymentsProConfigSection.closeButton('us')}}" stepKey="assertPayLink"/>
37+
<actionGroup ref="AdminAssetForPayallInOneActionGroup" stepKey="AssertPayAllInOneLink"/>
38+
<!--Clear paypal details config related data-->
39+
<actionGroup ref="AdminClearPaymentsProActionGroup" stepKey="clearExistingDataForPaymentsPro"/>
40+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfig"/>
41+
<actionGroup ref="AdminAssertPaypalCreditPaymentsProActionGroup" stepKey="enablePaypalPaymentsPro"/>
42+
<!--Save Configuration-->
43+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfigs"/>
44+
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="runIndexCronJobs">
45+
<argument name="indices" value=""/>
46+
</actionGroup>
47+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanCache">
48+
<argument name="tags" value="config full_page"/>
49+
</actionGroup>
50+
<!--Login to storefront as guest customer-->
51+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="goToStoreFront"/>
52+
<waitForPageLoad stepKey="waitForProductPage"/>
53+
<!--Add simple product-->
54+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProductToCart">
55+
<argument name="product" value="$simpleProduct$"/>
56+
</actionGroup>
57+
<!--Go to cart page-->
58+
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="gotoCart"/>
59+
<!--Open cart page and proceed to checkout-->
60+
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="goToCheckoutCartPage"/>
61+
<actionGroup ref="StorefrontClickProceedToCheckoutActionGroup" stepKey="clickProceedToCheckout"/>
62+
<!--Fill Shipping Address-->
63+
<actionGroup ref="GuestCheckoutFillNewShippingAddressActionGroup" stepKey="fillShippingAddress">
64+
<argument name="customer" value="$$createCustomer$$" />
65+
<argument name="address" value="US_Address_TX"/>
66+
</actionGroup>
67+
<!-- Select shipping -->
68+
<actionGroup ref="StorefrontSetShippingMethodActionGroup" stepKey="selectShippingMethodAsFlatRate">
69+
<argument name="shippingMethodName" value="Flat Rate"/>
70+
</actionGroup>
71+
<!-- Go to Order review -->
72+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="goToCheckoutPaymentPage"/>
73+
<waitForPageLoad stepKey="waitForLoadingPaypalPaymentPage"/>
74+
<!-- Assert Payflow Edition, Paypal Pro and Paypal Credit Payment method -->
75+
<waitForElementVisible selector="{{StorefrontCheckoutPaymentMethodSection.checkPaymentMethodByName('PayPal Express Checkout Payflow Edition')}}" stepKey="assertPayPalExpressCheckoutPayflowEdition"/>
76+
<waitForElementVisible selector="{{StorefrontCheckoutPaymentMethodSection.checkPaymentMethodByName('PayPal Credit')}}" stepKey="assertPaypalCreditPaymentMethod"/>
77+
<waitForElementVisible selector="{{StorefrontCheckoutPaymentMethodSection.checkPaymentMethodByName('Credit Card (Payflow Pro)')}}" stepKey="assertPaypalPaymentsProPaymentMethod"/>
78+
<magentoCLI command="config:set payment/paypal_payment_pro/active 0" stepKey="disablePaymentsPro"/>
79+
<amOnPage url="{{AdminConfigPaymentMethodsPage.url}}" stepKey="navigateToPaymentConfigurationPageAfterDisablingPayPalExpressCheckout"/>
80+
<waitForPageLoad stepKey="waitForPaymentMethodPageToLoad"/>
81+
<waitForElementClickable selector="{{PayPalPaymentsProConfigSection.configureBtn('us')}}" stepKey="waitForClickPayPalConfigureBtnToAssertStatus"/>
82+
<click selector="{{PayPalPaymentsProConfigSection.configureBtn('us')}}" stepKey="clickPayPalConfigureBtnToAssertStatus"/>
83+
<waitForElementNotVisible selector="{{PayPalPaymentsProConfigSection.disabledEnableSolution('us')}}" stepKey="assertNoGreenTickMarkForEnableThisSolutionDropdown"/>
84+
<assertElementContainsAttribute stepKey="seePaypalCreditIsDisabled">
85+
<expectedResult selector="{{PayPalPaymentsProConfigSection.enablePaypalCredit('us')}}" attribute="disabled" type="string"></expectedResult>
86+
</assertElementContainsAttribute>
87+
<seeOptionIsSelected selector="{{PayPalPaymentsProConfigSection.enablePaypalCredit('us')}}" userInput="No" stepKey="seePaypalCreditIsSetAsNo"/>
88+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.sortOrder('us')}}" stepKey="assertSortOrderFieldIsDisappeared"/>
89+
<seeOptionIsSelected selector="{{PayPalPaymentsProConfigSection.enableVault('us')}}" userInput="Yes" stepKey="seeValultIsSetAsNo"/>
90+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfiguration"/>
91+
<actionGroup ref="StorefrontNavigateToGuestCheckoutReviewAndPaymentsPageActionGroup" stepKey="goToStoreFrontCheckoutPageToAssertPaypalPaymentMethodIsDisappeared"/>
92+
<dontSee selector="{{StorefrontCheckoutPaymentMethodSection.checkPaymentMethodByName('PayPal Express Checkout Payflow Edition')}}" stepKey="assertPayPalPaymentIsAbsent"/>
93+
<!--Set Paypal Credit to No and assert the status-->
94+
<magentoCLI command="config:set payment/paypal_payment_pro/active 1" stepKey="enablePaymentsPro"/>
95+
<magentoCLI command="config:set payment/payflow_express_bml/active 0" stepKey="disablePayPalCreditPaymentMethod"/>
96+
<amOnPage url="{{AdminConfigPaymentMethodsPage.url}}" stepKey="navigateToPaymentConfigurationPageAfterEnablingPaypal"/>
97+
<waitForPageLoad stepKey="waitForPaymentMethodPageToLoadAfterEnabling"/>
98+
<waitForElementClickable selector="{{PayPalPaymentsProConfigSection.configureBtn('us')}}" stepKey="waitForClickPayPalConfigureBtnToAssertStatusAfterEnabling"/>
99+
<click selector="{{PayPalPaymentsProConfigSection.configureBtn('us')}}" stepKey="clickPayPalConfigureBtnToAssertStatusAfterEnabling"/>
100+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.disabledEnableSolution('us')}}" stepKey="assertGreenTickMarkForEnableThisSolutionDropdown"/>
101+
<seeOptionIsSelected selector="{{PayPalPaymentsProConfigSection.enablePaypalCredit('us')}}" userInput="No" stepKey="seeEnablePaypalCreditIsSetAsNo"/>
102+
<waitForElementVisible selector="{{PayPalPaymentsProConfigSection.disabledVault('us')}}" stepKey="assertGreenTickMarkForEnableVaultDropdown"/>
103+
<!--Go to checkout page and assert paypal express checkout Payflow Edition and Credit Card option is present-->
104+
<actionGroup ref="StorefrontNavigateToGuestCheckoutReviewAndPaymentsPageActionGroup" stepKey= "goToStoreFrontCheckoutPageToAssertPaypalPaymentMethodIsPresent"/>
105+
<waitForElementVisible selector="{{StorefrontCheckoutPaymentMethodSection.checkPaymentMethodByName('PayPal Express Checkout Payflow Edition')}}" stepKey="assertPayPalExpressPayflowEdition"/>
106+
<waitForElementVisible selector="{{StorefrontCheckoutPaymentMethodSection.checkPaymentMethodByName('Credit Card (Payflow Pro)')}}" stepKey="creditcardPaymentsPro"/>
107+
</test>
108+
</tests>

0 commit comments

Comments
 (0)