Skip to content

Commit d705bda

Browse files
ENGCOM-9105: MFTF: Checkout With Enabled Captcha #32986
- Merge Pull Request #32986 from DmitryTsymbal/magento2:captcha-on-checkout - Merged commits: 1. 9c6dc7d 2. 95f590f 3. 8ebf4c9
2 parents 8cdefb0 + 8ebf4c9 commit d705bda

File tree

6 files changed

+159
-0
lines changed

6 files changed

+159
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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="AssertCaptchaVisibleOnSecondCheckoutStepActionGroup">
12+
13+
<waitForElementVisible selector="{{StorefrontCheckoutCaptchaSection.captchaField}}" stepKey="waitToSeeCaptchaField"/>
14+
<waitForElementVisible selector="{{StorefrontCheckoutCaptchaSection.captchaImg}}" stepKey="waitToSeeCaptchaImage"/>
15+
<waitForElementVisible selector="{{StorefrontCheckoutCaptchaSection.captchaReload}}" stepKey="waitToSeeCaptchaReloadButton"/>
16+
<reloadPage stepKey="refreshPage"/>
17+
<waitForPageLoad stepKey="waitForPageReloaded"/>
18+
<waitForElementVisible selector="{{StorefrontCheckoutCaptchaSection.captchaField}}" stepKey="waitToSeeCaptchaFieldAfterPageReload"/>
19+
<waitForElementVisible selector="{{StorefrontCheckoutCaptchaSection.captchaImg}}" stepKey="waitToSeeCaptchaImageAfterPageReload"/>
20+
<waitForElementVisible selector="{{StorefrontCheckoutCaptchaSection.captchaReload}}" stepKey="waitToSeeCaptchaReloadButtonAfterPageReload"/>
21+
</actionGroup>
22+
</actionGroups>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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="StorefrontFillCaptchaFieldOnCheckoutActionGroup">
12+
<arguments>
13+
<argument name="captcha" type="string"/>
14+
</arguments>
15+
16+
<fillField selector="{{StorefrontCheckoutCaptchaSection.captchaField}}" userInput="{{captcha}}" stepKey="fillCaptchaField"/>
17+
</actionGroup>
18+
</actionGroups>

app/code/Magento/Captcha/Test/Mftf/Data/CaptchaConfigData.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,12 @@
157157
<data key="label">ABCDEFGHJKMnpqrstuvwxyz23456789</data>
158158
<data key="value">ABCDEFGHJKMnpqrstuvwxyz23456789</data>
159159
</entity>
160+
<entity name="StorefrontCaptchaOnCheckoutConfigData">
161+
<data key="path">customer/captcha/forms</data>
162+
<data key="scope_id">0</data>
163+
<data key="label">Checkout/Placing Order</data>
164+
<data key="value">payment_processing_request</data>
165+
</entity>
160166
<entity name="StorefrontCaptchaOnApplyingCouponCodeFormsConfigData">
161167
<data key="path">customer/captcha/forms</data>
162168
<data key="scope_id">0</data>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="StorefrontCheckoutCaptchaSection">
12+
<element name="captchaField" type="input" selector="#captcha_payment_processing_request"/>
13+
<element name="captchaImg" type="block" selector=".captcha-img"/>
14+
<element name="captchaReload" type="block" selector=".captcha-reload"/>
15+
</section>
16+
</sections>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="StorefrontCaptchaCheckoutWithEnabledCaptchaTest">
12+
<annotations>
13+
<features value="Captcha"/>
14+
<stories value="Order Placement With Enabled Captcha"/>
15+
<title value="Captcha on checkout page"/>
16+
<description value="Customer should be able to place an order with enabled captcha"/>
17+
<severity value="MAJOR"/>
18+
<group value="captcha"/>
19+
</annotations>
20+
<before>
21+
<createData entity="SimpleSubCategory" stepKey="createCategory"/>
22+
<createData entity="SimpleProduct" stepKey="createProduct">
23+
<requiredEntity createDataKey="createCategory"/>
24+
</createData>
25+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
26+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaLength3ConfigData.path}} {{StorefrontCustomerCaptchaLength3ConfigData.value}}" stepKey="setCaptchaLength"/>
27+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaSymbols1ConfigData.path}} {{StorefrontCustomerCaptchaSymbols1ConfigData.value}}" stepKey="setCaptchaSymbols"/>
28+
<magentoCLI command="config:set {{StorefrontCaptchaOnCheckoutConfigData.path}} {{StorefrontCaptchaOnCheckoutConfigData.value}}" stepKey="enableCaptchaOnCheckout"/>
29+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaModeAlwaysConfigData.path}} {{StorefrontCustomerCaptchaModeAlwaysConfigData.value}}" stepKey="setCaptchaAlwaysVisible"/>
30+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches">
31+
<argument name="tags" value="config full_page"/>
32+
</actionGroup>
33+
</before>
34+
<after>
35+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
36+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
37+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
38+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
39+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaDefaultLengthConfigData.path}} {{StorefrontCustomerCaptchaDefaultLengthConfigData.value}}" stepKey="setDefaultCaptchaLength"/>
40+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaDefaultSymbolsConfigData.path}} {{StorefrontCustomerCaptchaDefaultSymbolsConfigData.value}}" stepKey="setDefaultCaptchaSymbols"/>
41+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaModeAfterFailConfigData.path}} {{StorefrontCustomerCaptchaModeAfterFailConfigData.value}}" stepKey="setCaptchaDefaultVisibility"/>
42+
<magentoCLI command="config:set {{StorefrontCaptchaOnCustomerLoginConfigData.path}} {{StorefrontCaptchaOnCustomerLoginConfigData.value}},{{StorefrontCaptchaOnCustomerForgotPasswordConfigData.value}}" stepKey="enableCaptchaOnDefaultForms"/>
43+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches">
44+
<argument name="tags" value="config full_page"/>
45+
</actionGroup>
46+
</after>
47+
48+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccount">
49+
<argument name="Customer" value="$createCustomer$"/>
50+
</actionGroup>
51+
<actionGroup ref="OpenProductFromCategoryPageActionGroup" stepKey="openProductFromCategory">
52+
<argument name="category" value="$createCategory$"/>
53+
<argument name="product" value="$createProduct$"/>
54+
</actionGroup>
55+
<actionGroup ref="StorefrontAddProductToCartWithQtyActionGroup" stepKey="addProductToTheCart">
56+
<argument name="productQty" value="1"/>
57+
</actionGroup>
58+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="navigateToCheckout"/>
59+
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRate"/>
60+
<actionGroup ref="StorefrontCheckoutForwardFromShippingStepActionGroup" stepKey="goToReview"/>
61+
<actionGroup ref="AssertCaptchaVisibleOnSecondCheckoutStepActionGroup" stepKey="assertCaptchaIsVisible"/>
62+
<actionGroup ref="StorefrontFillCaptchaFieldOnCheckoutActionGroup" stepKey="placeOrderWithIncorrectValue">
63+
<argument name="captcha" value="{{WrongCaptcha.value}}"/>
64+
</actionGroup>
65+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder"/>
66+
<actionGroup ref="StorefrontClickPlaceOrderButtonActionGroup" stepKey="clickPlaceOrderButton"/>
67+
<actionGroup ref="AssertMessageCustomerChangeAccountInfoActionGroup" stepKey="assertErrorMessage">
68+
<argument name="message" value="Incorrect CAPTCHA"/>
69+
<argument name="messageType" value="error"/>
70+
</actionGroup>
71+
<actionGroup ref="StorefrontFillCaptchaFieldOnCheckoutActionGroup" stepKey="placeOrderWithCorrectValue">
72+
<argument name="captcha" value="{{PreconfiguredCaptcha.value}}"/>
73+
</actionGroup>
74+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectPaymentMethod"/>
75+
<actionGroup ref="CheckoutPlaceOrderActionGroup" stepKey="clickOnPlaceOrder">
76+
<argument name="orderNumberMessage" value="CONST.successCheckoutOrderNumberMessage"/>
77+
<argument name="emailYouMessage" value="CONST.successCheckoutEmailYouMessage"/>
78+
</actionGroup>
79+
</test>
80+
</tests>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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="StorefrontClickPlaceOrderButtonActionGroup">
12+
13+
<waitForElement selector="{{CheckoutPaymentSection.placeOrder}}" time="30" stepKey="waitForPlaceOrderButton"/>
14+
<click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrder"/>
15+
<waitForPageLoad stepKey="waitForCheckout"/>
16+
</actionGroup>
17+
</actionGroups>

0 commit comments

Comments
 (0)