Skip to content

Commit 7fbae46

Browse files
🔃 [Magento Community Engineering] Community Contributions - 2.4-develop
Accepted Community Pull Requests: - #29703: Fixed the wrong code style in return type declaration (by @andrewbess) - #29460: [MFTF] Add ActionGroup for clicking edit link on customer grid (by @Usik2203) - #29510: #28422 :- Newsletter subscription confirmation email never sent again (by @konarshankar07) - #29474: fix Same store name overriding in the store view grid filter (by @engcom-Charlie) - #27494: Implement ActionInterface for wishlist/shared (by @dxx004) - #28512: Grammar fixes in Registry.php PHPDoc (by @Ynhockey) - #29042: MFTF: Enabling Email To Friend Functionality. Assert Options (by @DmitryTsymbal) - #28816: #28802: Fix typo retires => retries (by @medigeek) - #28548: Use Variable for border-radius (by @Scarbous) Fixed GitHub Issues: - #29712: [Issue] Fixed the wrong code style in return type declaration (reported by @m2-assistant[bot]) has been fixed in #29703 by @andrewbess in 2.4-develop branch Related commits: 1. 01e90b1 - #29501: [Issue] [MFTF] Add ActionGroup for clicking edit link on customer grid (reported by @m2-assistant[bot]) has been fixed in #29460 by @Usik2203 in 2.4-develop branch Related commits: 1. 83b4012 2. 152c29b 3. fca9f6f 4. 7df7ae3 - #28422: Newsletter subscription confirmation email never sent again (reported by @VincentMarmiesse) has been fixed in #29510 by @konarshankar07 in 2.4-develop branch Related commits: 1. 1a7c8cd 2. 6e53e0d 3. ea584f9 4. ab3db16 - #29267: Same store name overriding in the store view grid filter (reported by @jigar48) has been fixed in #29474 by @engcom-Charlie in 2.4-develop branch Related commits: 1. 1b39196 2. 9a98048 3. 5fbb3cf 4. 5565349 - #29537: [Issue] Implement ActionInterface for wishlist/shared (reported by @m2-assistant[bot]) has been fixed in #27494 by @dxx004 in 2.4-develop branch Related commits: 1. a4c74d8 2. 18e7519 3. a002bf2 4. df2c759 5. 3ac458b 6. 935bdfa 7. f474439 8. 2ce3982 9. 4a85364 10. 979ab1f 11. 2f65f66 12. 6d8f77c 13. 2616ba1 14. e2db162 15. 2f08064 16. 9a1da8a 17. 21f9fa4 18. 26cd80d 19. c5f6a1f 20. a7da7fd - #29661: [Issue] Grammar fixes in Registry.php PHPDoc (reported by @m2-assistant[bot]) has been fixed in #28512 by @Ynhockey in 2.4-develop branch Related commits: 1. 204d0c3 - #29145: [Issue] MFTF: Enabling Email To Friend Functionality. Assert Options (reported by @m2-assistant[bot]) has been fixed in #29042 by @DmitryTsymbal in 2.4-develop branch Related commits: 1. 1b0f8df 2. 680ca2b 3. 2a76cb3 4. 44a6504 5. d95fa18 6. 53d86d7 - #28802: typo: setup:config:set --session-save-redis-sentinel-connect-retires (instead of retries) (reported by @medigeek) has been fixed in #28816 by @medigeek in 2.4-develop branch Related commits: 1. 2dfa221 - #28674: [Issue] Use Variable for border-radius (reported by @m2-assistant[bot]) has been fixed in #28548 by @Scarbous in 2.4-develop branch Related commits: 1. eface05 2. 9bd16ba 3. a59cd76
2 parents 8b7d949 + 03aecf2 commit 7fbae46

File tree

39 files changed

+553
-221
lines changed

39 files changed

+553
-221
lines changed
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminNavigateToEmailToFriendSettingsActionGroup">
12+
<amOnPage url="{{AdminConfigurationEmailToFriendPage.url}}" stepKey="navigateToPersistencePage"/>
13+
<conditionalClick selector="{{AdminEmailToFriendSection.DefaultLayoutsTab}}" dependentSelector="{{AdminEmailToFriendSection.CheckIfTabExpand}}" visible="true" stepKey="clickTab"/>
14+
</actionGroup>
15+
</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="AssertAdminEmailToFriendOptionsAvailableActionGroup">
12+
<seeElement stepKey="seeEmailTemplateInput" selector="{{AdminEmailToFriendSection.emailTemplate}}"/>
13+
<seeElement stepKey="seeAllowForGuestsInput" selector="{{AdminEmailToFriendSection.allowForGuests}}"/>
14+
<seeElement stepKey="seeMaxRecipientsInput" selector="{{AdminEmailToFriendSection.maxRecipients}}"/>
15+
<seeElement stepKey="seeMaxPerHourInput" selector="{{AdminEmailToFriendSection.maxPerHour}}"/>
16+
<seeElement stepKey="seeLimitSendingBy" selector="{{AdminEmailToFriendSection.limitSendingBy}}"/>
17+
</actionGroup>
18+
</actionGroups>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
11+
<page name="AdminConfigurationEmailToFriendPage" url="admin/system_config/edit/section/sendfriend/" module="Catalog" area="admin">
12+
<section name="AdminEmailToFriendSection"/>
13+
</page>
14+
</pages>
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminCatalogEmailToFriendSettingsTest">
12+
<annotations>
13+
<features value="Backend"/>
14+
<stories value="Enable Email To A Friend Functionality"/>
15+
<title value="Admin should be able to manage settings of Email To A Friend Functionality"/>
16+
<description value="Admin should be able to enable Email To A Friend functionality in Magento Admin backend and see additional options"/>
17+
<group value="backend"/>
18+
<severity value="MINOR"></severity>
19+
<testCaseId value="MC-35895"/>
20+
</annotations>
21+
22+
<before>
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
<magentoCLI stepKey="enableSendFriend" command="config:set sendfriend/email/enabled 1"/>
25+
<magentoCLI stepKey="cacheClean" command="cache:clean config"/>
26+
</before>
27+
<after>
28+
<magentoCLI stepKey="disableSendFriend" command="config:set sendfriend/email/enabled 0"/>
29+
<magentoCLI stepKey="cacheClean" command="cache:clean config"/>
30+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
31+
</after>
32+
33+
<actionGroup ref="AdminNavigateToEmailToFriendSettingsActionGroup" stepKey="navigateToSendFriendSettings"/>
34+
<actionGroup ref="AssertAdminEmailToFriendOptionsAvailableActionGroup" stepKey="assertOptions"/>
35+
</test>
36+
</tests>

app/code/Magento/Captcha/CustomerData/Captcha.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function __construct(
5858
/**
5959
* @inheritdoc
6060
*/
61-
public function getSectionData() :array
61+
public function getSectionData(): array
6262
{
6363
$data = [];
6464

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductGridFilterSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,6 @@
3838
<element name="storeViewDropdown" type="text" selector="//select[@name='store_id']/option[contains(.,'{{storeView}}')]" parameterized="true"/>
3939
<element name="inputByCodeRangeFrom" type="input" selector="input.admin__control-text[name='{{code}}[from]']" parameterized="true"/>
4040
<element name="inputByCodeRangeTo" type="input" selector="input.admin__control-text[name='{{code}}[to]']" parameterized="true"/>
41+
<element name="storeViewOptions" type="text" selector=".admin__data-grid-outer-wrap select[name='store_id'] > option[value='{{value}}']" parameterized="true"/>
4142
</section>
4243
</sections>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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="AdminEmailToFriendSection">
12+
<element name="DefaultLayoutsTab" type="button" selector=".entry-edit-head-link"/>
13+
<element name="CheckIfTabExpand" type="button" selector=".entry-edit-head-link:not(.open)"/>
14+
<element name="emailTemplate" type="input" selector="#sendfriend_email_template"/>
15+
<element name="allowForGuests" type="input" selector="#sendfriend_email_allow_guest"/>
16+
<element name="maxRecipients" type="input" selector="#sendfriend_email_max_recipients"/>
17+
<element name="maxPerHour" type="input" selector="#sendfriend_email_max_per_hour"/>
18+
<element name="limitSendingBy" type="input" selector="#sendfriend_email_check_by"/>
19+
</section>
20+
</sections>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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="AdminClickFirstRowEditLinkOnCustomerGridActionGroup">
12+
<annotations>
13+
<description>Click edit link for first row on the grid.</description>
14+
</annotations>
15+
16+
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditLink"/>
17+
<waitForPageLoad stepKey="waitForPageLoading"/>
18+
</actionGroup>
19+
</actionGroups>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateCustomerRetailerWithoutAddressTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@
5050
<see userInput="{{CustomerEntityOne.email}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertEmail"/>
5151

5252
<!--Assert Customer Form -->
53-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
54-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
53+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
5554
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>
5655
<waitForPageLoad stepKey="waitForCustomerInformationPageToLoad"/>
5756
<see selector="{{AdminCustomerAccountInformationSection.groupIdValue}}" userInput="Retailer" stepKey="seeCustomerGroup1"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateCustomerWithCountryPolandTest.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterTheCustomerByEmail">
3232
<argument name="email" value="$$createCustomer.email$$"/>
3333
</actionGroup>
34-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton"/>
35-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad"/>
34+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton"/>
3635

3736
<!-- Add the Address -->
3837
<click selector="{{AdminEditCustomerAddressesSection.addresses}}" stepKey="selectAddress"/>
@@ -67,8 +66,7 @@
6766
<see userInput="{{PolandAddress.telephone}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertPhoneNumber"/>
6867

6968
<!--Assert Customer Form -->
70-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
71-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
69+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
7270
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>
7371
<waitForPageLoad stepKey="waitForCustomerInformationPageToLoad"/>
7472
<seeInField selector="{{AdminCustomerAccountInformationSection.firstName}}" userInput="$$createCustomer.firstname$$" stepKey="seeCustomerFirstName"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateCustomerWithCountryUSATest.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterTheCustomerByEmail">
3232
<argument name="email" value="$$createCustomer.email$$"/>
3333
</actionGroup>
34-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton"/>
35-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad"/>
34+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton"/>
3635

3736
<!-- Add the Address -->
3837
<click selector="{{AdminEditCustomerAddressesSection.addresses}}" stepKey="selectAddress"/>
@@ -67,8 +66,7 @@
6766
<see userInput="{{US_Address_CA.telephone}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertPhoneNumber"/>
6867

6968
<!--Assert Customer Form -->
70-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
71-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
69+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
7270
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>
7371
<waitForPageLoad stepKey="waitForCustomerInformationPageToLoad"/>
7472
<seeInField selector="{{AdminCustomerAccountInformationSection.firstName}}" userInput="$$createCustomer.firstname$$" stepKey="seeCustomerFirstName"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateCustomerWithCustomGroupTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@
5454
<see userInput="{{CustomerEntityOne.email}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertEmail"/>
5555

5656
<!--Assert Customer Form -->
57-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
58-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
57+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
5958
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>
6059
<waitForPageLoad stepKey="waitForCustomerInformationPageToLoad"/>
6160
<see selector="{{AdminCustomerAccountInformationSection.groupIdValue}}" userInput="$$customerGroup.code$$" stepKey="seeCustomerGroup1"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateCustomerWithPrefixTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@
5656
<see userInput="Male" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertGender"/>
5757

5858
<!--Assert Customer Form -->
59-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
60-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
59+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
6160
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>
6261
<waitForPageLoad stepKey="waitForCustomerInformationPageToLoad"/>
6362
<seeInField selector="{{AdminCustomerAccountInformationSection.namePrefix}}" userInput="{{CustomerEntityOne.prefix}}" stepKey="seeCustomerNamePrefix"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateCustomerWithoutAddressTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@
4949
<see userInput="{{CustomerEntityOne.email}}" selector="{{AdminCustomerGridSection.customerGrid}}" stepKey="assertEmail"/>
5050

5151
<!--Assert Customer Form -->
52-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
53-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
52+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
5453
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>
5554
<waitForPageLoad stepKey="waitForCustomerInformationPageToLoad"/>
5655
<seeInField selector="{{AdminCustomerAccountInformationSection.firstName}}" userInput="{{CustomerEntityOne.firstname}}" stepKey="seeCustomerFirstName"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateNewCustomerOnStorefrontSignupNewsletterTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@
4545
<see selector="{{AdminCustomerGridSection.customerGrid}}" userInput="{{CustomerEntityOne.email}}" stepKey="seeAssertCustomerEmailInGrid"/>
4646

4747
<!--Assert verify created new customer is subscribed to newsletter-->
48-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickFirstRowEditLink"/>
49-
<waitForPageLoad stepKey="waitForEditLinkLoad"/>
48+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickFirstRowEditLink"/>
5049
<click selector="{{AdminEditCustomerInformationSection.newsLetter}}" stepKey="clickNewsLetter"/>
5150
<waitForPageLoad stepKey="waitForNewsletterTabToOpen"/>
5251
<seeCheckboxIsChecked selector="{{AdminEditCustomerNewsletterSection.subscribedStatus('1')}}" stepKey="seeAssertSubscribedToNewsletterCheckboxIsChecked"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCreateNewCustomerTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@
4242
<argument name="email" value="{{CustomerEntityOne.email}}"/>
4343
</actionGroup>
4444
<waitForPageLoad stepKey="waitForPageToLoad"/>
45-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickOnEditButton1"/>
46-
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad"/>
45+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickOnEditButton1"/>
4746

4847
<!-- Assert Customer Title -->
4948
<click selector="{{AdminCustomerAccountInformationSection.accountInformationButton}}" stepKey="clickOnAccountInformation"/>

app/code/Magento/Customer/Test/Mftf/Test/AdminCustomerSubscribeNewsletterPerWebsiteTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@
5353
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterCustomerGrid">
5454
<argument name="email" value="{{CustomerEntityOne.email}}"/>
5555
</actionGroup>
56-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickToEditCustomerPage"/>
57-
<waitForPageLoad stepKey="waitForOpenCustomerPage"/>
56+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickToEditCustomerPage"/>
5857
<grabFromCurrentUrl regex="~(\d+)/~" stepKey="grabCustomerId"/>
5958
<!-- Assert that created customer is subscribed to newsletter on the new Store View -->
6059
<actionGroup ref="AdminAssertCustomerIsSubscribedToNewslettersAndSelectedStoreView" stepKey="assertSubscribedToNewsletter">

app/code/Magento/Newsletter/Model/SubscriptionManager.php

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -195,12 +195,14 @@ private function saveSubscriber(
195195
): bool {
196196
$statusChanged = (int)$subscriber->getStatus() !== $status;
197197
$emailChanged = $subscriber->getEmail() !== $customer->getEmail();
198-
if ($subscriber->getId()
199-
&& !$statusChanged
200-
&& (int)$subscriber->getCustomerId() === (int)$customer->getId()
201-
&& (int)$subscriber->getStoreId() === $storeId
202-
&& !$emailChanged
203-
) {
198+
if ($this->dontNeedToSaveSubscriber(
199+
$subscriber,
200+
$customer,
201+
$statusChanged,
202+
$storeId,
203+
$status,
204+
$emailChanged
205+
)) {
204206
return false;
205207
}
206208

@@ -220,10 +222,37 @@ private function saveSubscriber(
220222

221223
/**
222224
* If the subscriber is waiting to confirm from the customer
223-
* and customer changed the email
225+
* or customer changed the email
224226
* than need to send confirmation letter to the new email
225227
*/
226-
return $status === Subscriber::STATUS_NOT_ACTIVE && $emailChanged;
228+
return $status === Subscriber::STATUS_NOT_ACTIVE || $emailChanged;
229+
}
230+
231+
/**
232+
* Don't need to save subscriber model
233+
*
234+
* @param Subscriber $subscriber
235+
* @param CustomerInterface $customer
236+
* @param bool $statusChanged
237+
* @param int $storeId
238+
* @param int $status
239+
* @param bool $emailChanged
240+
* @return bool
241+
*/
242+
private function dontNeedToSaveSubscriber(
243+
Subscriber $subscriber,
244+
CustomerInterface $customer,
245+
bool $statusChanged,
246+
int $storeId,
247+
int $status,
248+
bool $emailChanged
249+
): bool {
250+
return $subscriber->getId()
251+
&& !$statusChanged
252+
&& (int)$subscriber->getCustomerId() === (int)$customer->getId()
253+
&& (int)$subscriber->getStoreId() === $storeId
254+
&& !$emailChanged
255+
&& $status !== Subscriber::STATUS_NOT_ACTIVE;
227256
}
228257

229258
/**

app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ public function subscribeCustomerDataProvider(): array
454454
'subscriber_status' => Subscriber::STATUS_SUBSCRIBED,
455455
'subscriber_confirm_code' => '',
456456
],
457-
'needToSendEmail' => false,
457+
'needToSendEmail' => true,
458458
],
459459
'Update subscription data: subscription confirm required ' => [
460460
'subscriber_data' => [
@@ -618,7 +618,7 @@ public function unsubscribeCustomerDataProvider(): array
618618
'subscriber_status' => Subscriber::STATUS_NOT_ACTIVE,
619619
'subscriber_confirm_code' => '',
620620
],
621-
'needToSendEmail' => false,
621+
'needToSendEmail' => true,
622622
],
623623
'Update subscription data' => [
624624
'subscriber_data' => [
@@ -642,7 +642,7 @@ public function unsubscribeCustomerDataProvider(): array
642642
'subscriber_status' => Subscriber::STATUS_UNSUBSCRIBED,
643643
'subscriber_confirm_code' => '',
644644
],
645-
'needToSendEmail' => false,
645+
'needToSendEmail' => true,
646646
],
647647
];
648648
}

app/code/Magento/Sales/Test/Mftf/Test/AddConfigurableProductToOrderFromShoppingCartTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@
9797
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterCreatedCustomer">
9898
<argument name="email" value="$$createCustomer.email$$"/>
9999
</actionGroup>
100-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickEditButton"/>
101-
<waitForPageLoad stepKey="waitForPageLoad"/>
100+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickEditButton"/>
102101

103102
<!-- Click create order -->
104103
<click selector="{{AdminCustomerMainActionsSection.createOrderBtn}}" stepKey="clickCreateOrder"/>

app/code/Magento/Sales/Test/Mftf/Test/AddSimpleProductToOrderFromShoppingCartTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@
5858
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterCreatedCustomer">
5959
<argument name="email" value="$$createCustomer.email$$"/>
6060
</actionGroup>
61-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickEditButton"/>
62-
<waitForPageLoad stepKey="waitForPageLoad"/>
61+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickEditButton"/>
6362

6463
<!-- Click create order -->
6564
<click selector="{{AdminCustomerMainActionsSection.createOrderBtn}}" stepKey="clickCreateOrder"/>

app/code/Magento/Sales/Test/Mftf/Test/MoveLastOrderedConfigurableProductOnOrderPageTest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@
9696
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterCreatedCustomer">
9797
<argument name="email" value="$$createCustomer.email$$"/>
9898
</actionGroup>
99-
<click selector="{{AdminCustomerGridSection.firstRowEditLink}}" stepKey="clickEditButton"/>
100-
<waitForPageLoad stepKey="waitForPageLoad"/>
99+
<actionGroup ref="AdminClickFirstRowEditLinkOnCustomerGridActionGroup" stepKey="clickEditButton"/>
101100

102101
<!-- Click create order -->
103102
<click selector="{{AdminCustomerMainActionsSection.createOrderBtn}}" stepKey="clickCreateOrder"/>

0 commit comments

Comments
 (0)