Skip to content

Commit bd6ef72

Browse files
Merge branch '2.4-develop' into fix-for-issue-39169
2 parents dfe1a3e + ebd6774 commit bd6ef72

File tree

149 files changed

+21732
-20469
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+21732
-20469
lines changed

app/code/Magento/Backend/Test/Mftf/Data/BackenedData.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
33
/**
4-
* Copyright 2018 Adobe
4+
* Copyright 2025 Adobe
55
* All Rights Reserved.
66
*/
77
-->

app/code/Magento/Backend/view/adminhtml/web/js/validate-store.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,19 @@ define([
4747
_saveHandler: function (form) {
4848
var formData = {},
4949
requestData = {},
50+
counts = {},
5051
options = $.data(form, 'validator').settings;
5152

5253
if ($(form).validation('isValid')) {
5354
$.each($(form).serializeArray(), function () {
55+
counts[this.name] = (counts[this.name] || 0) + 1;
56+
57+
if (formData[this.name]) {
58+
this.name = this.name.replace(new RegExp(/\[\]$/g), '[' + (counts[this.name] - 1) + ']');
59+
}
5460
formData[this.name] = this.value || '';
5561
});
62+
5663
requestData = {
5764
action: $(form).attr('action'),
5865
data: formData

app/code/Magento/Bundle/Test/Mftf/ActionGroup/AssertStorefrontBundleValidationMessageActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
</arguments>
1818

1919
<waitForPageLoad stepKey="waitForPageLoad"/>
20-
<see selector="{{StorefrontBundledSection.validationMessageBox}}" userInput="{{message}}" stepKey="seeErrorHoldMessage"/>
20+
<see selector="{{StorefrontBundledSection.selectOptionError}}" userInput="{{message}}" stepKey="seeErrorHoldMessage"/>
2121
</actionGroup>
2222
</actionGroups>

app/code/Magento/Bundle/Test/Mftf/ActionGroup/AssertStorefrontBundleValidationMessagesCountActionGroup.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
</annotations>
1515

1616
<waitForPageLoad stepKey="waitForPageLoad"/>
17-
<seeElement selector="{{StorefrontBundledSection.validationMessageBox}}" stepKey="seeErrorBox"/>
18-
<seeNumberOfElements selector="{{StorefrontBundledSection.validationMessageBox}}" userInput="1" stepKey="seeOneErrorBox"/>
17+
<seeElement selector="{{StorefrontBundledSection.selectOptionError}}" stepKey="seeErrorBox"/>
18+
<seeNumberOfElements selector="{{StorefrontBundledSection.selectOptionError}}" userInput="1" stepKey="seeOneErrorBox"/>
1919
</actionGroup>
2020
</actionGroups>

app/code/Magento/Bundle/Test/Mftf/Section/StorefrontBundledSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,6 @@
5151
<element name="dropDownQuantityValidation" type="input" selector="//span[contains(text(), '{{productName}}')]/../..//input/following-sibling::div[@class='mage-error']" parameterized="true"/>
5252
<element name="radioButtonQuantityValidation" type="input" selector="//label//span[contains(text(), '{{productName}}')]/../..//div[@class='control']//div[@class='field qty qty-holder']//input/following-sibling::div[@class='mage-error']" parameterized="true"/>
5353
<element name="dropDrownOptionQuantity" type="input" selector="//span[contains(text(), '{{productName}}')]/../..//input/following-sibling::div//div//div//input" parameterized="true"/>
54+
<element name="selectOptionError" type="text" selector="//div[contains(@class, 'field')]//div[contains(@class, 'mage-error')]"/>
5455
</section>
5556
</sections>

app/code/Magento/Bundle/Test/Mftf/Test/StorefrontBundleCheckBoxOptionValidationTest.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,7 @@
1717
<testCaseId value="MC-35133"/>
1818
<severity value="MINOR"/>
1919
<group value="Bundle"/>
20-
<group value="pr_exclude"/>
2120
<group value="cloud"/>
22-
<skip>
23-
<issueId value="AC-10826"/>
24-
</skip>
2521
</annotations>
2622
<before>
2723
<createData entity="ApiProductWithDescription" stepKey="simpleProduct1" before="bundleProduct"/>
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 2021 Adobe
5+
* All Rights Reserved.
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="AssertCaptchaVisibleOnEmailToFriendFormActionGroup">
12+
<waitForElementVisible selector="{{StorefrontEmailToFriendSection.captchaField}}" stepKey="waitToSeeCaptchaField"/>
13+
<waitForElementVisible selector="{{StorefrontEmailToFriendSection.captchaImg}}" stepKey="waitToSeeCaptchaImage"/>
14+
<waitForElementVisible selector="{{StorefrontEmailToFriendSection.captchaReload}}" stepKey="waitToSeeCaptchaReloadButton"/>
15+
<reloadPage stepKey="refreshPage"/>
16+
<waitForPageLoad stepKey="waitForPageReloaded"/>
17+
<waitForElementVisible selector="{{StorefrontEmailToFriendSection.captchaField}}" stepKey="waitToSeeCaptchaFieldAfterPageReload"/>
18+
<waitForElementVisible selector="{{StorefrontEmailToFriendSection.captchaImg}}" stepKey="waitToSeeCaptchaImageAfterPageReload"/>
19+
<waitForElementVisible selector="{{StorefrontEmailToFriendSection.captchaReload}}" stepKey="waitToSeeCaptchaReloadButtonAfterPageReload"/>
20+
</actionGroup>
21+
</actionGroups>
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 2021 Adobe
5+
* All Rights Reserved.
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="StorefrontFillCaptchaOnEmailToFriendFormActionGroup">
12+
<arguments>
13+
<argument name="captcha" type="string"/>
14+
</arguments>
15+
<fillField userInput="{{captcha}}" selector="{{StorefrontEmailToFriendSection.captchaField}}" stepKey="fillCaptchaField"/>
16+
</actionGroup>
17+
</actionGroups>

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,12 @@
163163
<data key="label">ABCDEFGHJKMnpqrstuvwxyz23456789</data>
164164
<data key="value">ABCDEFGHJKMnpqrstuvwxyz23456789</data>
165165
</entity>
166+
<entity name="StorefrontCaptchaOnEmailToFriendFormConfigData">
167+
<data key="path">customer/captcha/forms</data>
168+
<data key="scope_id">0</data>
169+
<data key="label">Send To Friend Form</data>
170+
<data key="value">product_sendtofriend_form</data>
171+
</entity>
166172
<entity name="AdminCaptchaForgotPasswordFormConfigData">
167173
<!-- Magento default value -->
168174
<data key="path">admin/captcha/forms</data>
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2021 Adobe
5+
* All Rights Reserved.
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="StorefrontCaptchaOnEmailToFriendFormTest">
12+
<annotations>
13+
<features value="Captcha"/>
14+
<stories value="Sending email about products in store with enabled captcha"/>
15+
<title value="Captcha on email to friend form"/>
16+
<description value="Customer should be able send email to friend about product with enabled captcha"/>
17+
<severity value="MINOR"/>
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 {{StorefrontCaptchaOnEmailToFriendFormConfigData.path}} {{StorefrontCaptchaOnEmailToFriendFormConfigData.value}}" stepKey="enableEmailToFriendCaptcha"/>
29+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaModeAlwaysConfigData.path}} {{StorefrontCustomerCaptchaModeAlwaysConfigData.value}}" stepKey="setCaptchaAlwaysVisible"/>
30+
<magentoCLI command="config:set {{EnableCatalogEmailToFriendOptionConfigData.path}} {{EnableCatalogEmailToFriendOptionConfigData.value}}" stepKey="enableSendToFriend"/>
31+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches">
32+
<argument name="tags" value="config full_page"/>
33+
</actionGroup>
34+
</before>
35+
<after>
36+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
37+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
38+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
39+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
40+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaDefaultLengthConfigData.path}} {{StorefrontCustomerCaptchaDefaultLengthConfigData.value}}" stepKey="setDefaultCaptchaLength"/>
41+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaDefaultSymbolsConfigData.path}} {{StorefrontCustomerCaptchaDefaultSymbolsConfigData.value}}" stepKey="setDefaultCaptchaSymbols"/>
42+
<magentoCLI command="config:set {{StorefrontCustomerCaptchaModeAfterFailConfigData.path}} {{StorefrontCustomerCaptchaModeAfterFailConfigData.value}}" stepKey="setCaptchaDefaultVisibility"/>
43+
<magentoCLI command="config:set {{StorefrontCaptchaOnCustomerLoginConfigData.path}} {{StorefrontCaptchaOnCustomerLoginConfigData.value}},{{StorefrontCaptchaOnCustomerForgotPasswordConfigData.value}}" stepKey="enableCaptchaOnDefaultForms"/>
44+
<magentoCLI command="config:set {{DisableCatalogEmailToFriendOptionConfigData.path}} {{DisableCatalogEmailToFriendOptionConfigData.value}}" stepKey="disableSendToFriend"/>
45+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches">
46+
<argument name="tags" value="config full_page"/>
47+
</actionGroup>
48+
</after>
49+
50+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccount">
51+
<argument name="Customer" value="$createCustomer$"/>
52+
</actionGroup>
53+
<actionGroup ref="OpenProductFromCategoryPageActionGroup" stepKey="openProductFromCategory">
54+
<argument name="category" value="$createCategory$"/>
55+
<argument name="product" value="$createProduct$"/>
56+
</actionGroup>
57+
<actionGroup ref="StorefrontClickEmailToFriendButtonOnProductPageActionGroup" stepKey="clickEmailButton"/>
58+
<actionGroup ref="AssertCaptchaVisibleOnEmailToFriendFormActionGroup" stepKey="seeCaptchaOnEmailToFriendForm"/>
59+
<actionGroup ref="StorefrontFillFieldsOnEmailToFriendFormActionGroup" stepKey="fillFieldsOnForm">
60+
<argument name="senderName" value="{{Simple_US_Customer.firstname}}"/>
61+
<argument name="senderEmail" value="{{Simple_US_Customer.email}}"/>
62+
<argument name="message" value="{{EmailToFriendValidValues.shareInfo_message}}"/>
63+
<argument name="recipientName" value="{{EmailToFriendValidValues.recipient_name}}"/>
64+
<argument name="recipientEmail" value="{{EmailToFriendValidValues.shareInfo_email}}"/>
65+
</actionGroup>
66+
<actionGroup ref="StorefrontFillCaptchaOnEmailToFriendFormActionGroup" stepKey="fillCaptchaFieldWithIncorrectValues">
67+
<argument name="captcha" value="{{WrongCaptcha.value}}"/>
68+
</actionGroup>
69+
<actionGroup ref="StorefrontClickSendEmailButtonOnEmailToFriendFormActionGroup" stepKey="submitEmailToFriendForm"/>
70+
<actionGroup ref="AssertMessageCustomerChangeAccountInfoActionGroup" stepKey="assertErrorMessage">
71+
<argument name="message" value="Incorrect CAPTCHA"/>
72+
<argument name="messageType" value="error"/>
73+
</actionGroup>
74+
<actionGroup ref="StorefrontFillFieldsOnEmailToFriendFormActionGroup" stepKey="fillFieldsOnEmailToFriendForm">
75+
<argument name="senderName" value="{{Simple_US_Customer.firstname}}"/>
76+
<argument name="senderEmail" value="{{Simple_US_Customer.email}}"/>
77+
<argument name="message" value="{{EmailToFriendValidValues.shareInfo_message}}"/>
78+
<argument name="recipientName" value="{{EmailToFriendValidValues.recipient_name}}"/>
79+
<argument name="recipientEmail" value="{{EmailToFriendValidValues.shareInfo_email}}"/>
80+
</actionGroup>
81+
<actionGroup ref="StorefrontFillCaptchaOnEmailToFriendFormActionGroup" stepKey="fillCaptchaFieldWithCorrectValues">
82+
<argument name="captcha" value="{{PreconfiguredCaptcha.value}}"/>
83+
</actionGroup>
84+
<actionGroup ref="StorefrontClickSendEmailButtonOnEmailToFriendFormActionGroup" stepKey="submitEmailToFriendFormWithValidValues"/>
85+
<actionGroup ref="AssertMessageCustomerChangeAccountInfoActionGroup" stepKey="assertSuccessMessage">
86+
<argument name="message" value="The link to a friend was sent."/>
87+
</actionGroup>
88+
</test>
89+
</tests>

0 commit comments

Comments
 (0)