Skip to content

Commit cb3a73c

Browse files
committed
Merge branch 'ACQE-6742' into ACQE-6897-functional-mainline-deployment
2 parents c2ec64f + 76c63a1 commit cb3a73c

File tree

5 files changed

+226
-1
lines changed

5 files changed

+226
-1
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminConfigPaymentAdvancedThroughCLIActionGroup">
11+
<annotations>
12+
<description>Goes to the 'Configuration' page for 'Payment Methods'. Fills in the provided Sample PayPal credentials and other details. Clicks on Save</description>
13+
</annotations>
14+
<magentoCLI command="config:set {{EnterPaypalPayAdvancedPartner.path}} {{EnterPaypalPayAdvancedPartner.value}}" stepKey="enterInputForPartner"/>
15+
<magentoCLI command="config:set {{EnterPaypalPayAdvancedVendor.path}} {{EnterPaypalPayAdvancedVendor.value}}" stepKey="enterInputForVendor"/>
16+
<magentoCLI command="config:set {{EnterPaypalPayAdvancedUser.path}} {{EnterPaypalPayAdvancedUser.value}}" stepKey="enterInputForUser"/>
17+
<magentoCLI command="config:set {{EnterPaymentAdvancedPassword.path}} {{EnterPaymentAdvancedPassword.value}}" stepKey="enterInputForPwd"/>
18+
<magentoCLI command="config:set {{EnablePaymentAdvancedSandbox.path}} {{EnablePaymentAdvancedSandbox.value}}" stepKey="enableSandboxMode"/>
19+
<magentoCLI command="config:set {{EnablePaymentAdvancedSolution.path}} {{EnablePaymentAdvancedSolution.value}}" stepKey="enablePaymentAdvancedSolution"/>
20+
<magentoCLI command="config:set {{EnablePaymentAdvancedPaypalCredit.path}} {{EnablePaymentAdvancedPaypalCredit.value}}" stepKey="enablePaypalCredit"/>
21+
<magentoCLI command="config:set payment/payflow_express/active 1" stepKey="enablePaypalExpress"/>
22+
</actionGroup>
23+
</actionGroups>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminConfigurationPaymentAdvancedActionGroup">
11+
<annotations>
12+
<description>Goes to the 'Configuration' page for 'Payment Methods'. Fills in the provided Sample PayPal credentials and other details. Clicks on Save.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="credentials" defaultValue="_CREDS"/>
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="expandOtherPaypalConfigButton"/>
22+
<waitForElementClickable selector="{{PayPalPaymentsProConfigSection.paymentsAdvanced(countryCode)}}" stepKey="waitForPayPalPaymentsAdvancedConfigureBtn"/>
23+
<click selector ="{{PayPalPaymentsProConfigSection.paymentsAdvanced(countryCode)}}" stepKey="clickPayPalPaymentsAdvancedConfigureBtn"/>
24+
<waitForElementVisible selector="{{AdminConfigurepaymentsAdvancedSection.user(countryCode)}}" stepKey="waitForUser"/>
25+
<fillField selector ="{{AdminConfigurepaymentsAdvancedSection.user(countryCode)}}" userInput="{{credentials.magento/paypal_paymentsflowlink_user}}" stepKey="inputUser"/>
26+
<waitForElementVisible selector="{{AdminConfigurepaymentsAdvancedSection.password(countryCode)}}" stepKey="waitForPassword"/>
27+
<fillField selector ="{{AdminConfigurepaymentsAdvancedSection.password(countryCode)}}" userInput="{{credentials.magento/paypal_paymentsflowlink_password}}}" stepKey="inputPassword"/>
28+
<click selector="{{AdminConfigSection.saveButton}}" stepKey="saveConfiguration"/>
29+
</actionGroup>
30+
</actionGroups>

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

100644100755
Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,51 @@
127127
<entity name="Payer">
128128
<data key="firstName">Alex</data>
129129
</entity>
130-
130+
<entity name="PaypalPayflowAdvancedConfig" type="paypal_payflow_Advanced_config_state">
131+
<requiredEntity type="business_account">PaypalPayflowAdvancedBusinessAccount</requiredEntity>
132+
<requiredEntity type="partner">EnterPaypalPayAdvancedPartner</requiredEntity>
133+
<requiredEntity type="user">EnterPaypalPayAdvancedUser</requiredEntity>
134+
<requiredEntity type="vendor">EnterPaypalPayAdvancedVendor</requiredEntity>
135+
<requiredEntity type="pwd">EnterPaymentAdvancedPassword</requiredEntity>
136+
<requiredEntity type="sandbox_flag">EnablePaymentAdvancedSandbox</requiredEntity>
137+
<requiredEntity type="use_proxy">UseProxyAdvanced</requiredEntity>
138+
</entity>
139+
<entity name="EnterPaypalPayAdvancedPartner" type="text">
140+
<data key="path">payment/payflow_advanced/partner</data>
141+
<data key="value">{{_CREDS.magento/paypal_paymentsflowlink_partner}}</data>
142+
</entity>
143+
<entity name="EnterPaypalPayAdvancedVendor" type="text">
144+
<data key="path">payment/payflow_advanced/vendor</data>
145+
<data key="value">{{_CREDS.magento/paypal_paymentsflowlink_vendor}}</data>
146+
</entity>
147+
<entity name="EnterPaypalPayAdvancedUser" type="password">
148+
<data key="path">payment/payflow_advanced/user</data>
149+
<data key="value">{{_CREDS.magento/paypal_paymentsflowlink_user}}</data>
150+
</entity>
151+
<entity name="EnterPaymentAdvancedPassword" type="password">
152+
<data key="path">payment/payflow_advanced/pwd</data>
153+
<data key="value">{{_CREDS.magento/paypal_paymentsflowlink_password}}</data>
154+
</entity>
155+
<entity name="EnablePaymentAdvancedSandbox">
156+
<data key="path">payment/payflow_advanced/sandbox_flag</data>
157+
<data key="value">1</data>
158+
</entity>
159+
<entity name="EnablePaymentAdvancedSolution">
160+
<data key="path">payment/payflow_advanced/active</data>
161+
<data key="value">1</data>
162+
</entity>
163+
<entity name="DisablePaymentAdvancedSolution">
164+
<data key="path">payment/payflow_advanced/active</data>
165+
<data key="value">0</data>
166+
</entity>
167+
<entity name="EnablePaymentAdvancedPaypalCredit">
168+
<data key="path">payment/payflow_express_bml/active</data>
169+
<data key="value">1</data>
170+
</entity>
171+
<entity name="DisablePaymentAdvancedPaypalCredit">
172+
<data key="path">payment/payflow_express_bml/active</data>
173+
<data key="value">0</data>
174+
</entity>
131175
<!-- configuration used for paypal payflow pro -->
132176
<entity name="EnablePaypalPayflowProWithVault" type="custom_paypal_payflow_pro_config_state">
133177
<requiredEntity type="enable_paypal_payflow">EnablePaypalPayflowProMethod</requiredEntity>
@@ -252,4 +296,11 @@
252296
<data key="year">25</data>
253297
<data key="cvv">123</data>
254298
</entity>
299+
<!-- configuration used for paypal PaymentsAdvanced-->
300+
<entity name="SamplePaypalPaymentsAdvancedConfig" type="payflow_advanced_config">
301+
<data key="payflow_advanced_partner">PayPal</data>
302+
<data key="payflow_advanced_user">mpilink</data>
303+
<data key="payflow_advanced_vendor">mpilink</data>
304+
<data key="payflow_advanced_password">1234_1234L!</data>
305+
</entity>
255306
</entities>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="AdminConfigurepaymentsAdvancedSection">
11+
<element name="user" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_user" parameterized="true"/>
12+
<element name="password" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_pwd" parameterized="true"/>
13+
<element name="payflowEdition" type="radio" selector="//input[@id ='payflow_express']" timeout="10"/>
14+
</section>
15+
</sections>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
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="StorefrontPartialCaptureInvoiceForPaypalExpressPayflowEditionTest">
11+
<annotations>
12+
<features value="PayPal"/>
13+
<stories value="Partial Capture Order with Payflow Edition"/>
14+
<title value="Partial Capture for a sales order placed with PayPal Express Checkout (Payflow Edition)"/>
15+
<description value="Place an order with Paypal express checkout payflow edition as payment method and Partial Capture the Order"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="AC-4846"/>
18+
<group value="3rd_party_integration"/>
19+
</annotations>
20+
<before>
21+
<!-- Simple product is created -->
22+
<createData entity="SimpleProduct" stepKey="createProduct">
23+
<field key="price">125.15</field>
24+
</createData>
25+
<createData entity="SimpleProduct2" stepKey="createAnotherProduct"/>
26+
<!-- US Customer is created -->
27+
<createData entity="Simple_US_Customer_CA" stepKey="createCustomer"/>
28+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
29+
<!-- Configure PayPal Express Checkout -->
30+
<actionGroup ref="AdminConfigPaymentAdvancedThroughCLIActionGroup" stepKey="ConfigPaymentAdvanced"/>
31+
<actionGroup ref="AdminConfigurationPaymentAdvancedActionGroup" stepKey="setValuesForUserAndPwd"/>
32+
<magentoCLI command="config:set payment/payflow_advanced/active 1" stepKey="enablePaymentAdvancedSolution"/>
33+
<magentoCLI command="config:set payment/payflow_express_bml/active 1" stepKey="enablePaypalCredit"/>
34+
<magentoCLI command="config:set payment/payflow_express/active 1" stepKey="enablePayflowExpress"/><actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex">
35+
<argument name="indices" value=""/>
36+
</actionGroup>
37+
<!-- Login to StoreFront -->
38+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="storefrontCustomerLogin">
39+
<argument name="Customer" value="$$createCustomer$$"/>
40+
</actionGroup>
41+
<!-- Open Product Page to add product in the cart -->
42+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="amOnProductPage">
43+
<argument name="product" value="$createProduct$"/>
44+
</actionGroup>
45+
<scrollTo selector="{{StorefrontProductActionSection.quantity}}" stepKey="scrollToQuantityField"/>
46+
<actionGroup ref="AddProductWithQtyToCartFromStorefrontProductPageActionGroup" stepKey="addProductToCart">
47+
<argument name="productName" value="$$createProduct.name$$"/>
48+
<argument name="productQty" value="2"/>
49+
</actionGroup>
50+
<!-- Go to Checkout Page -->
51+
<actionGroup ref="StorefrontOpenCheckoutPageActionGroup" stepKey="goToCheckout"/>
52+
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRateShipping"/>
53+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="clickNext"/>
54+
<!-- Click on PayPal payment radio button -->
55+
<waitForElementClickable selector="{{AdminConfigurepaymentsAdvancedSection.payflowEdition}}" stepKey="waitForPayPalRadioButton"/>
56+
<click selector="{{AdminConfigurepaymentsAdvancedSection.payflowEdition}}" stepKey="selectPaypalPayment"/>
57+
<waitForElementClickable selector="{{CheckoutPaymentSection.ContinuePayPalBtn}}" stepKey="waitForPayPalBtn"/>
58+
<click selector="{{CheckoutPaymentSection.ContinuePayPalBtn}}" stepKey="clickPayPalBtn"/>
59+
<actionGroup ref="StorefrontLoginToPayPalExpressCheckoutPayFlowEditionActionGroup" stepKey="loginToPayPal"/>
60+
<actionGroup ref="StorefrontPaypalSwitchBackToMagentoFromCheckoutPageActionGroup" stepKey="confirmPaymentAndGoBackToMagento"/>
61+
<waitForText selector="{{CheckoutSuccessMainSection.successTitle}}" userInput="Thank you for your purchase!" stepKey="waitForLoadSuccessPage"/>
62+
<waitForText selector="{{CheckoutSuccessMainSection.success}}" userInput="We'll email you an order confirmation with details and tracking info." stepKey="seeSuccessMessage"/>
63+
</before>
64+
<after>
65+
<deleteData createDataKey="createProduct" stepKey="deleteSimpleProduct"/>
66+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
67+
<magentoCLI command="config:set {{DisablePaymentAdvancedSolution.path}} {{DisablePaymentAdvancedSolution.value}}" stepKey="setEnablePayflowAdvancedToNo"/>
68+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
69+
</after>
70+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="orderNumber"/>
71+
<assertNotEmpty stepKey="assertOrderIdIsNotEmpty">
72+
<actualResult type="const">$orderNumber</actualResult>
73+
</assertNotEmpty>
74+
<!--Go to admin sales page and open the order id-->
75+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrder">
76+
<argument name="orderId" value="{$orderNumber}"/>
77+
</actionGroup>
78+
<!--Submit invoice-->
79+
<actionGroup ref="AdminClickInvoiceButtonOrderViewActionGroup" stepKey="clickInvoiceButton"/>
80+
<seeOptionIsSelected userInput="Capture Online" selector="{{AdminInvoiceTotalSection.amount}}" stepKey="seeOptionType"/>
81+
<!--Update qty as 1 and assert the status of the order-->
82+
<actionGroup ref="AdminFillQtyToInvoiceOnCreateInvoicePageActionGroup" stepKey="fillInvoiceQuantity">
83+
<argument name="qty" value="1"/>
84+
</actionGroup>
85+
<actionGroup ref="AdminClickUpdateQtysButtonOnCreateInvoicePageActionGroup" stepKey="clickUpdateQtyAfterUpdatingInvoiceBtn"/>
86+
<actionGroup ref="AdminInvoiceClickSubmitActionGroup" stepKey="clickSubmitInvoice"/>
87+
<actionGroup ref="AdminOrderViewCheckStatusActionGroup" stepKey="checkOrderStatus">
88+
<argument name="status" value="Processing"/>
89+
</actionGroup>
90+
<waitForElementVisible selector="{{AdminOrderDetailsInformationSection.paymentInformationField('Last Transaction ID')}}" stepKey="waitForLastTransactionIDFieldToBeAppearedAfterSubmittingInvoice"/>
91+
<grabTextFrom selector="{{AdminOrderDetailsInformationSection.paymentInformationField('Last Transaction ID')}}" stepKey="grabLastTransactionIDForCaptured"/>
92+
<!--Open the comment history tab and assert the comment-->
93+
<actionGroup ref="AdminOpenOrderCommentsHistoryActionGroup" stepKey="clickOnCommentsHistoryAfterSubmittingInvoice"/>
94+
<waitForText selector="{{AdminOrderCommentsTabSection.orderCommentsWithType('Captured amount')}}" userInput="Captured amount of $135.15 online. Transaction ID: &quot;{$grabLastTransactionIDForCaptured}&quot;" stepKey="seeOrderHistoryNotesAfterSubmittingInvoice"/>
95+
<!-- Check the last transaction of the order and validate the details for Captured and Authorization-->
96+
<actionGroup ref="AdminViewAuthorizationTransactionsInOrderActionGroup" stepKey="validateAuthTransaction"/>
97+
<waitForText selector="{{AdminTransactionsGridSection.transactionData('Is Closed')}}" userInput="No" stepKey="seeIfClosedHeaderIsSetAsYesForAuthorization"/>
98+
<waitForElementClickable selector="{{AdminProductFormActionSection.backButton}}" stepKey="waitForBackButtonToBeClicked"/>
99+
<click selector="{{AdminProductFormActionSection.backButton}}" stepKey="clickBackButton"/>
100+
<actionGroup ref="AdminAssertTransitionTypeStatusNewActionGroup" stepKey="assertTransactionTypeStatusForCapture">
101+
<argument name="transactionType" value="capture"/>
102+
<argument name="transitionTypeStatus" value="No"/>
103+
</actionGroup>
104+
</test>
105+
</tests>
106+

0 commit comments

Comments
 (0)