Skip to content

Commit e7dfd3d

Browse files
committed
ACQE-6742:Check Partial Capture order placed with Paypal Payments Advanced
New Testcase added
1 parent de4dfb8 commit e7dfd3d

File tree

4 files changed

+167
-0
lines changed

4 files changed

+167
-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+
<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="SamplePaypalPaymentsAdvancedConfig"/>
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="{{AdminConfigurepaymentsAdvancedSection.configBtn(countryCode)}}" stepKey="waitForPayPalPaymentsAdvancedConfigureBtn"/>
23+
<click selector ="{{AdminConfigurepaymentsAdvancedSection.configBtn(countryCode)}}" stepKey="clickPayPalPaymentsAdvancedConfigureBtn"/>
24+
<scrollTo selector="{{AdminConfigurepaymentsAdvancedSection.partner(countryCode)}}" stepKey="scrollToBottom"/>
25+
<waitForElementVisible selector="{{AdminConfigurepaymentsAdvancedSection.partner(countryCode)}}" stepKey="waitForPartner"/>
26+
<fillField selector ="{{AdminConfigurepaymentsAdvancedSection.partner(countryCode)}}" userInput="{{credentials.payflow_advanced_partner}}" stepKey="inputPartner"/>
27+
<waitForElementVisible selector="{{AdminConfigurepaymentsAdvancedSection.vendor(countryCode)}}" stepKey="waitForVendor"/>
28+
<fillField selector ="{{AdminConfigurepaymentsAdvancedSection.vendor(countryCode)}}" userInput="{{credentials.payflow_advanced_vendor}}" stepKey="inputVendor"/>
29+
<waitForElementVisible selector="{{AdminConfigurepaymentsAdvancedSection.user(countryCode)}}" stepKey="waitForUser"/>
30+
<fillField selector ="{{AdminConfigurepaymentsAdvancedSection.user(countryCode)}}" userInput="{{credentials.payflow_advanced_user}}" stepKey="inputUser"/>
31+
<waitForElementVisible selector="{{AdminConfigurepaymentsAdvancedSection.password(countryCode)}}" stepKey="waitForPassword"/>
32+
<fillField selector ="{{AdminConfigurepaymentsAdvancedSection.password(countryCode)}}" userInput="{{credentials.payflow_advanced_password}}" stepKey="inputPassword"/>
33+
<selectOption selector="{{AdminConfigurepaymentsAdvancedSection.testMode(countryCode)}}" userInput="Yes" stepKey="enableTestMode"/>
34+
<click selector="{{AdminConfigSection.saveButton}}" stepKey="saveConfiguration"/>
35+
</actionGroup>
36+
</actionGroups>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,11 @@
250250
<data key="year">25</data>
251251
<data key="cvv">123</data>
252252
</entity>
253+
<!-- configuration used for paypal PaymentsAdvanced-->
254+
<entity name="SamplePaypalPaymentsAdvancedConfig" type="payflow_advanced_config">
255+
<data key="payflow_advanced_partner">PayPal</data>
256+
<data key="payflow_advanced_user">mpilink</data>
257+
<data key="payflow_advanced_vendor">mpilink</data>
258+
<data key="payflow_advanced_password">1234_1234L!</data>
259+
</entity>
253260
</entities>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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="configBtn" type="button" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced-head" parameterized="true"/>
12+
<element name="email" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_business_account" parameterized="true"/>
13+
<element name="partner" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_partner" parameterized="true"/>
14+
<element name="user" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_user" parameterized="true"/>
15+
<element name="vendor" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_vendor" parameterized="true"/>
16+
<element name="password" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_pwd" parameterized="true"/>
17+
<element name="testMode" type="input" selector="#payment_{{countryCode}}_paypal_group_all_in_one_payflow_advanced_required_settings_payments_advanced_sandbox_flag" parameterized="true"/>
18+
<element name="payFlowExpress" type="radio" selector="//*[contains(text(), 'PayPal Credit (Payflow Express Bml)')]"/>
19+
<element name="continueButton" type="button" selector="/html/body/div[3]/main/div[2]/div/div/div[4]/ol/li[3]/div/form/fieldset/div[1]/div/div/div[4]/div[2]/div[4]/div/button/span" timeout="10"/>
20+
</section>
21+
</sections>
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
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="AdminCaptureInvoiceForPaypalBillingAgreementPaymentAdvancedTest">
11+
<annotations>
12+
<features value="PayPal"/>
13+
<stories value="Partial Capture Order with Payments Advanced"/>
14+
<title value="Check Partial Capture order placed with Paypal Payments Advanced"/>
15+
<description value="Place an order with Paypal Payments Advanced as payment method and Partial Capture the Order"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="AC-4833"/>
18+
<group value="3rd_party_integration"/>
19+
</annotations>
20+
<before>
21+
<!-- Simple product is created -->
22+
<createData entity="SimpleProduct" stepKey="createProduct"/>
23+
<!-- US Customer is created -->
24+
<createData entity="Simple_US_Customer_CA" stepKey="createCustomer"/>
25+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
26+
<!-- Configure PayPal Express Checkout -->
27+
<actionGroup ref="AdminConfigurationPaymentAdvancedActionGroup" stepKey="ConfigPaymentAdvanced"/>
28+
<magentoCLI command="config:set payment/payflow_advanced/active 1" stepKey="enablePaymentAdvancedSolution"/>
29+
<magentoCLI command="config:set payment/payflow_express_bml/active 1" stepKey="enablePaypalCredit"/>
30+
<magentoCLI command="config:set payment/payflow_express/active 1" stepKey="enablePayPalVault"/>
31+
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="runIndexCronJob">
32+
<argument name="indices" value="cataloginventory_stock"/>
33+
</actionGroup>
34+
<!-- Login to StoreFront -->
35+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="storefrontCustomerLogin">
36+
<argument name="Customer" value="$$createCustomer$$"/>
37+
</actionGroup>
38+
<!-- Open Product Page to add product in the cart -->
39+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="amOnProductPage">
40+
<argument name="product" value="$createProduct$"/>
41+
</actionGroup>
42+
<scrollTo selector="{{StorefrontProductActionSection.quantity}}" stepKey="scrollToQuantityField"/>
43+
<actionGroup ref="AddProductWithQtyToCartFromStorefrontProductPageActionGroup" stepKey="addProductToCart">
44+
<argument name="productName" value="$$createProduct.name$$"/>
45+
<argument name="productQty" value="2"/>
46+
</actionGroup>
47+
<!-- Go to Checkout Page -->
48+
<actionGroup ref="StorefrontOpenCheckoutPageActionGroup" stepKey="goToCheckout"/>
49+
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRateShipping"/>
50+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="clickNext"/>
51+
<!-- Click on PayPal payment radio button -->
52+
<waitForElementClickable selector="{{AdminConfigurepaymentsAdvancedSection.payFlowExpress}}" stepKey="waitForPayPalRadioButton"/>
53+
<click selector="{{AdminConfigurepaymentsAdvancedSection.payFlowExpress}}" stepKey="selectPaypalPayment"/>
54+
<waitForElementClickable selector="{{AdminConfigurepaymentsAdvancedSection.continueButton}}" stepKey="waitForPayPalBtn"/>
55+
<click selector="{{AdminConfigurepaymentsAdvancedSection.continueButton}}" stepKey="clickPayPalBtn"/>
56+
<actionGroup ref="StorefrontLoginToPayPalExpressCheckoutPayFlowEditionActionGroup" stepKey="loginToPayPal"/>
57+
<actionGroup ref="StorefrontPaypalSwitchBackToMagentoFromCheckoutPageActionGroup" stepKey="confirmPaymentAndGoBackToMagento"/>
58+
<waitForText selector="{{CheckoutSuccessMainSection.successTitle}}" userInput="Thank you for your purchase!" stepKey="waitForLoadSuccessPage"/>
59+
<waitForText selector="{{CheckoutSuccessMainSection.success}}" userInput="We'll email you an order confirmation with details and tracking info." stepKey="seeSuccessMessage"/>
60+
</before>
61+
<after>
62+
<deleteData createDataKey="createProduct" stepKey="deleteSimpleProduct"/>
63+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
64+
<magentoCLI command="config:set payment/payflow_express_bml/active 0" stepKey="disablePaypalCredit"/>
65+
<magentoCLI command="config:set payment/payflow_advanced/active 0" stepKey="disablePaymentAdvancedSolution"/>
66+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
67+
</after>
68+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="orderNumber"/>
69+
<assertNotEmpty stepKey="assertOrderIdIsNotEmpty">
70+
<actualResult type="const">$orderNumber</actualResult>
71+
</assertNotEmpty>
72+
<!--Go to admin sales page and open the order id-->
73+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrder">
74+
<argument name="orderId" value="{$orderNumber}"/>
75+
</actionGroup>
76+
<!--Submit invoice-->
77+
<actionGroup ref="AdminClickInvoiceButtonOrderViewActionGroup" stepKey="clickInvoiceButton"/>
78+
<seeOptionIsSelected userInput="Capture Online" selector="{{AdminInvoiceTotalSection.amount}}" stepKey="seeOptionType"/>
79+
<!--Update qty as 1 and assert the status of the order-->
80+
<actionGroup ref="AdminFillQtyToInvoiceOnCreateInvoicePageActionGroup" stepKey="fillInvoiceQuantity">
81+
<argument name="qty" value="1"/>
82+
</actionGroup>
83+
<actionGroup ref="AdminClickUpdateQtysButtonOnCreateInvoicePageActionGroup" stepKey="clickUpdateQtyAfterUpdatingInvoiceBtn"/>
84+
<actionGroup ref="AdminInvoiceClickSubmitActionGroup" stepKey="clickSubmitInvoice"/>
85+
<actionGroup ref="AdminOrderViewCheckStatusActionGroup" stepKey="checkOrderStatus">
86+
<argument name="status" value="Processing"/>
87+
</actionGroup>
88+
<waitForElementVisible selector="{{AdminOrderDetailsInformationSection.paymentInformationField('Last Transaction ID')}}" stepKey="waitForLastTransactionIDFieldToBeAppearedAfterSubmittingInvoice"/>
89+
<grabTextFrom selector="{{AdminOrderDetailsInformationSection.paymentInformationField('Last Transaction ID')}}" stepKey="grabLastTransactionIDForCaptured"/>
90+
<!--Open the comment history tab and assert the comment-->
91+
<actionGroup ref="AdminOpenOrderCommentsHistoryActionGroup" stepKey="clickOnCommentsHistoryAfterSubmittingInvoice"/>
92+
<waitForText selector="{{AdminOrderCommentsTabSection.orderCommentsWithType('Captured amount')}}" userInput="Captured amount of $133.00 online. Transaction ID: &quot;{$grabLastTransactionIDForCaptured}&quot;" stepKey="seeOrderHistoryNotesAfterSubmittingInvoice"/>
93+
<!-- Check the last transaction of the order and validate the details for Captured and Authorization-->
94+
<actionGroup ref="AdminViewAuthorizationTransactionsInOrderActionGroup" stepKey="validateAuthTransaction"/>
95+
<waitForText selector="{{AdminTransactionsGridSection.transactionData('Is Closed')}}" userInput="No" stepKey="seeIfClosedHeaderIsSetAsYesForAuthorization"/>
96+
<waitForElementClickable selector="{{AdminProductFormActionSection.backButton}}" stepKey="waitForBackButtonToBeClicked"/>
97+
<click selector="{{AdminProductFormActionSection.backButton}}" stepKey="clickBackButton"/>
98+
<actionGroup ref="AdminAssertTransitionTypeStatusNewActionGroup" stepKey="assertTransactionTypeStatusForCapture">
99+
<argument name="transactionType" value="capture"/>
100+
<argument name="transitionTypeStatus" value="No"/>
101+
</actionGroup>
102+
</test>
103+
</tests>

0 commit comments

Comments
 (0)