Skip to content

Commit 7ddd47e

Browse files
🔃 [Magento Community Engineering] Community Contributions - 2.4-develop latest changes
Accepted Community Pull Requests: - #30081: [MFTF] deprecated GoToAttributeGridPageActionGroup (by @Usik2203) - #29968: Grid search selectall issue (by @engcom-Hotel) - #29486: System configuration Validation for Customer/Admin Token life time (by @ejaz-alam) - #29671: Removed fileinfo extension dependency from CMS module (by @konarshankar07) - #30014: Modal content with good message format for newlines (by @lfluvisotto) Fixed GitHub Issues: - #30103: [Issue] [MFTF] deprecated GoToAttributeGridPageActionGroup (reported by @m2-assistant[bot]) has been fixed in #30081 by @Usik2203 in 2.4-develop branch Related commits: 1. 41f22a3 2. 705769e - #24348: UI Component grid indicates a wrong number of selections when removing keyword search (reported by @hostep) has been fixed in #29968 by @engcom-Hotel in 2.4-develop branch Related commits: 1. 1f6e82f 2. e837bdc 3. 591e04e 4. 8a9546f 5. f019712 6. 4a20d6e 7. 70df4f0 8. a85a63b 9. 462f123 - #24400: Issues Found on Grid Multi-Select Column (reported by @maheshWebkul721) has been fixed in #29968 by @engcom-Hotel in 2.4-develop branch Related commits: 1. 1f6e82f 2. e837bdc 3. 591e04e 4. 8a9546f 5. f019712 6. 4a20d6e 7. 70df4f0 8. a85a63b 9. 462f123 - #29487: Customer Token Life in system config (reported by @ejaz-alam) has been fixed in #29486 by @ejaz-alam in 2.4-develop branch Related commits: 1. 7341b4f 2. e0a99e1 3. fdb4b7f 4. d4f14ae 5. b78479e 6. 1f137fc 7. 459fc23 - #29502: [Issue] System configuration Validation (reported by @m2-assistant[bot]) has been fixed in #29486 by @ejaz-alam in 2.4-develop branch Related commits: 1. 7341b4f 2. e0a99e1 3. fdb4b7f 4. d4f14ae 5. b78479e 6. 1f137fc 7. 459fc23 - #16531: [Magento 2.2.5 - 2.3.x] Upload fails in image uploader (reported by @mdesplenter) has been fixed in #29671 by @konarshankar07 in 2.4-develop branch Related commits: 1. 8344b11 2. 8da5e70 3. d312ab5 4. f7503ea 5. c09a261 6. 1209868 7. 60c0163 8. 21f1eb3 9. 0cf0e09 10. 09bd902 - #24332: [Magento 2.3.2] Upload fails in image uploader (reported by @posttechguy) has been fixed in #29671 by @konarshankar07 in 2.4-develop branch Related commits: 1. 8344b11 2. 8da5e70 3. d312ab5 4. f7503ea 5. c09a261 6. 1209868 7. 60c0163 8. 21f1eb3 9. 0cf0e09 10. 09bd902 - #29852: [Magento 2.3.5 p2] Upload fails in image uploader (reported by @raghav111jain) has been fixed in #29671 by @konarshankar07 in 2.4-develop branch Related commits: 1. 8344b11 2. 8da5e70 3. d312ab5 4. f7503ea 5. c09a261 6. 1209868 7. 60c0163 8. 21f1eb3 9. 0cf0e09 10. 09bd902 - #30013: Modal content with bad message format for newlines (reported by @lfluvisotto) has been fixed in #30014 by @lfluvisotto in 2.4-develop branch Related commits: 1. de91c2b
2 parents d7ff26b + 686ec6f commit 7ddd47e

File tree

21 files changed

+299
-37
lines changed

21 files changed

+299
-37
lines changed

app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminOpenAttributeSetGridPageActionGroup.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1010
<actionGroup name="AdminOpenAttributeSetGridPageActionGroup">
11+
<annotations>
12+
<description>Open the Attribute Sets grid page.</description>
13+
</annotations>
14+
1115
<amOnPage url="{{AdminProductAttributeSetGridPage.url}}" stepKey="goToAttributeSetPage"/>
1216
<waitForPageLoad stepKey="waitForAttributeSetPageLoad"/>
1317
</actionGroup>

app/code/Magento/Catalog/Test/Mftf/ActionGroup/GoToAttributeGridPageActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11-
<actionGroup name="GoToAttributeGridPageActionGroup">
11+
<actionGroup name="GoToAttributeGridPageActionGroup" deprecated="Use AdminOpenAttributeSetGridPageActionGroup instead.">
1212
<annotations>
1313
<description>Goes to the Attribute Sets grid page.</description>
1414
</annotations>

app/code/Magento/CatalogSearch/Test/Mftf/Test/StorefrontQuickSearchConfigurableChildrenTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<!-- Assign attribute to set -->
3434
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
35-
<actionGroup ref="GoToAttributeGridPageActionGroup" stepKey="goToAttributeSetPage"/>
35+
<actionGroup ref="AdminOpenAttributeSetGridPageActionGroup" stepKey="goToAttributeSetPage"/>
3636
<actionGroup ref="GoToAttributeSetByNameActionGroup" stepKey="openAttributeSetByName">
3737
<argument name="name" value="$createAttributeSet.attribute_set_name$"/>
3838
</actionGroup>

app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
* @SuppressWarnings(PHPMD.TooManyFields)
2323
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
2424
* @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
25+
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
2526
*
2627
* @api
2728
* @since 100.0.2
@@ -152,6 +153,11 @@ class Storage extends \Magento\Framework\DataObject
152153
*/
153154
private $ioFile;
154155

156+
/**
157+
* @var \Magento\Framework\File\Mime|null
158+
*/
159+
private $mime;
160+
155161
/**
156162
* Construct
157163
*
@@ -174,6 +180,7 @@ class Storage extends \Magento\Framework\DataObject
174180
* @param \Magento\Framework\Filesystem\DriverInterface $file
175181
* @param \Magento\Framework\Filesystem\Io\File|null $ioFile
176182
* @param \Psr\Log\LoggerInterface|null $logger
183+
* @param \Magento\Framework\File\Mime $mime
177184
*
178185
* @throws \Magento\Framework\Exception\FileSystemException
179186
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -197,7 +204,8 @@ public function __construct(
197204
array $data = [],
198205
\Magento\Framework\Filesystem\DriverInterface $file = null,
199206
\Magento\Framework\Filesystem\Io\File $ioFile = null,
200-
\Psr\Log\LoggerInterface $logger = null
207+
\Psr\Log\LoggerInterface $logger = null,
208+
\Magento\Framework\File\Mime $mime = null
201209
) {
202210
$this->_session = $session;
203211
$this->_backendUrl = $backendUrl;
@@ -217,6 +225,7 @@ public function __construct(
217225
$this->_dirs = $dirs;
218226
$this->file = $file ?: ObjectManager::getInstance()->get(\Magento\Framework\Filesystem\Driver\File::class);
219227
$this->ioFile = $ioFile ?: ObjectManager::getInstance()->get(\Magento\Framework\Filesystem\Io\File::class);
228+
$this->mime = $mime ?: ObjectManager::getInstance()->get(\Magento\Framework\File\Mime::class);
220229
parent::__construct($data);
221230
}
222231

@@ -362,7 +371,7 @@ public function getFilesCollection($path, $type = null)
362371
$item->setUrl($this->_cmsWysiwygImages->getCurrentUrl() . $item->getBasename());
363372
$itemStats = $this->file->stat($item->getFilename());
364373
$item->setSize($itemStats['size']);
365-
$item->setMimeType(\mime_content_type($item->getFilename()));
374+
$item->setMimeType($this->mime->getMimeType($item->getFilename()));
366375

367376
if ($this->isImage($item->getBasename())) {
368377
$thumbUrl = $this->getThumbnailUrl($item->getFilename(), true);
@@ -647,7 +656,7 @@ public function resizeFile($source, $keepRatio = true)
647656
$image->keepAspectRatio($keepRatio);
648657

649658
list($imageWidth, $imageHeight) = $this->getResizedParams($source);
650-
659+
651660
$image->resize($imageWidth, $imageHeight);
652661
$dest = $targetDir . '/' . $this->ioFile->getPathInfo($source)['basename'];
653662
$image->save($dest);
@@ -670,7 +679,7 @@ private function getResizedParams(string $source): array
670679

671680
//phpcs:ignore Generic.PHP.NoSilencedErrors
672681
list($imageWidth, $imageHeight) = @getimagesize($source);
673-
682+
674683
if ($imageWidth && $imageHeight) {
675684
$imageWidth = $configWidth > $imageWidth ? $imageWidth : $configWidth;
676685
$imageHeight = $configHeight > $imageHeight ? $imageHeight : $configHeight;
@@ -679,7 +688,7 @@ private function getResizedParams(string $source): array
679688
}
680689
return [$configWidth, $configHeight];
681690
}
682-
691+
683692
/**
684693
* Resize images on the fly in controller action
685694
*

app/code/Magento/Customer/Test/Mftf/Section/AdminCustomerGridMainActionsSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<section name="AdminCustomerGridMainActionsSection">
1212
<element name="addNewCustomer" type="button" selector="#add" timeout="30"/>
1313
<element name="multicheck" type="checkbox" selector="#container>div>div.admin__data-grid-wrap>table>thead>tr>th.data-grid-multicheck-cell>div>label"/>
14+
<element name="multicheckTick" type="checkbox" selector="#container>div>div.admin__data-grid-wrap>table>thead>tr>th.data-grid-multicheck-cell>div>input"/>
1415
<element name="delete" type="button" selector="//*[contains(@class, 'admin__data-grid-header')]//span[contains(@class,'action-menu-item') and text()='Delete']"/>
1516
<element name="actions" type="text" selector=".action-select"/>
1617
<element name="customerCheckbox" type="button" selector="//*[contains(text(),'{{arg}}')]/parent::td/preceding-sibling::td/label[@class='data-grid-checkbox-cell-inner']//input" parameterized="true"/>
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminGridSearchSelectAllTest">
11+
<annotations>
12+
<stories value="Selection should be removed during search."/>
13+
<title value="Selection should be removed during search."/>
14+
<description value="Empty selected before and after search, like it works for filter"/>
15+
<testCaseId value="MC-37659"/>
16+
<severity value="CRITICAL"/>
17+
<group value="uI"/>
18+
</annotations>
19+
<before>
20+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
21+
<!--Create three customers-->
22+
<createData entity="Simple_US_Customer" stepKey="firstCustomer"/>
23+
<createData entity="Simple_US_Customer" stepKey="secondCustomer"/>
24+
<createData entity="Simple_US_Customer" stepKey="thirdCustomer"/>
25+
</before>
26+
<after>
27+
<!--Remove two created customers, third already deleted-->
28+
<deleteData createDataKey="firstCustomer" stepKey="deleteFirstCustomer"/>
29+
<deleteData createDataKey="secondCustomer" stepKey="deleteSecondCustomer"/>
30+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
31+
</after>
32+
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="openCustomerPage"/>
33+
<!-- search Admin Data Grid By Keyword -->
34+
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clickClearFilters"/>
35+
<fillField selector="{{AdminDataGridHeaderSection.search}}" userInput="$$secondCustomer.email$$" stepKey="fillKeywordSearchFieldWithSecondCustomerEmail"/>
36+
<click selector="{{AdminDataGridHeaderSection.submitSearch}}" stepKey="clickKeywordSearch"/>
37+
<waitForPageLoad stepKey="waitForPageLoad"/>
38+
<!-- Select all from dropdown -->
39+
<actionGroup ref="AdminGridSelectAllActionGroup" stepKey="selectAllCustomers"/>
40+
<!-- Clear searching By Keyword-->
41+
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clickClearFiltersAfterSearch"/>
42+
<waitForPageLoad stepKey="waitForPageLoadAfterSearchRemoved"/>
43+
<!-- Check if selection has bee removed -->
44+
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$secondCustomer.email$$)}}" stepKey="checkSecondCustomerCheckboxIsUnchecked"/>
45+
<!-- Check delete action -->
46+
<click selector="{{AdminCustomerGridMainActionsSection.customerCheckbox(($$thirdCustomer.email$$)}}" stepKey="selectThirdCustomer"/>
47+
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerIsChecked"/>
48+
<!-- Use delete action for selected -->
49+
<click selector="{{AdminCustomerGridMainActionsSection.actions}}" stepKey="clickActions"/>
50+
<click selector="{{AdminCustomerGridMainActionsSection.delete}}" stepKey="clickDelete"/>
51+
<waitForAjaxLoad stepKey="waitForLoadConfirmation"/>
52+
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="confirmDelete"/>
53+
<!-- Check if only one record record has been deleted -->
54+
<see selector="{{AdminMessagesSection.success}}" userInput="A total of 1 record(s) were deleted" stepKey="seeSuccess"/>
55+
</test>
56+
</tests>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminGridSelectAllOnPageTest">
11+
<annotations>
12+
<stories value="Toggle select page."/>
13+
<title value="Toggle select page."/>
14+
<description value="Empty selected before and after search, like it works for filter"/>
15+
<testCaseId value="MC-37660"/>
16+
<severity value="CRITICAL"/>
17+
<group value="uI"/>
18+
</annotations>
19+
<before>
20+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
21+
<!--Create three customers-->
22+
<createData entity="Simple_US_Customer" stepKey="firstCustomer"/>
23+
<createData entity="Simple_US_Customer" stepKey="secondCustomer"/>
24+
<createData entity="Simple_US_Customer" stepKey="thirdCustomer"/>
25+
</before>
26+
<after>
27+
<!--Remove created customers -->
28+
<deleteData createDataKey="firstCustomer" stepKey="deleteFirstCustomer"/>
29+
<deleteData createDataKey="secondCustomer" stepKey="deleteSecondCustomer"/>
30+
<deleteData createDataKey="thirdCustomer" stepKey="deleteThirdCustomer"/>
31+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
32+
</after>
33+
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="openCustomerPage"/>
34+
<!-- Select all from dropdown -->
35+
<actionGroup ref="AdminGridSelectAllActionGroup" stepKey="selectAllCustomers"/>
36+
<!-- Deselect third customer -->
37+
<click selector="{{AdminCustomerGridMainActionsSection.customerCheckbox(($$thirdCustomer.email$$)}}" stepKey="selectThirdCustomer"/>
38+
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerCheckboxIsUnchecked"/>
39+
<!-- Click select all on page checkbox -->
40+
<actionGroup ref="AdminSelectAllCustomers" stepKey="selectAllCustomersOnPage"/>
41+
<seeElement selector="{{AdminCustomerGridMainActionsSection.multicheckTick}}" stepKey="waitForElement"/>
42+
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.multicheckTick}}" stepKey="checkAllSelectedCheckBoxIsChecked"/>
43+
<!-- Check all created records selected -->
44+
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$firstCustomer.email$$)}}" stepKey="checkFirstCustomerIsCheckedAfterSelectPage"/>
45+
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$secondCustomer.email$$)}}" stepKey="checkSecondCustomerIsCheckedAfterSelectPage"/>
46+
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerIsCheckedAfterSelectPage"/>
47+
<!-- Click deselect all on page checkbox -->
48+
<actionGroup ref="AdminSelectAllCustomers" stepKey="deselectAllCustomersCheckbox"/>
49+
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.multicheckTick}}" stepKey="checkAllSelectedCheckBoxUnchecked"/>
50+
<!-- Check all created records unselected -->
51+
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$firstCustomer.email$$)}}" stepKey="checkFirstCustomerIsUncheckedAfterSelectPage"/>
52+
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$secondCustomer.email$$)}}" stepKey="checkSecondCustomerIsUncheckedAfterSelectPage"/>
53+
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerIsUncheckedAfterSelectPage"/>
54+
</test>
55+
</tests>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
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+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
9+
<page name="AdminConfigServicesOauthPage" url="admin/system_config/edit/section/oauth/" area="admin" module="Magento_Integration">
10+
<section name="AdminConfigAccessTokenExpirationSection"/>
11+
</page>
12+
</pages>
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
9+
<section name="AdminConfigAccessTokenExpirationSection">
10+
<element name="tabAccessTokenLifetime" type="select" selector="#oauth_access_token_lifetime-head"/>
11+
<element name="CheckIfTabExpand" type="button" selector="#oauth_access_token_lifetime-head:not(.open)"/>
12+
<element name="valueForTokenLifetime" type="input" selector="#oauth_access_token_lifetime_customer"/>
13+
<element name="systemValueForTokenLifetime" type="checkbox" selector="#oauth_access_token_lifetime_customer_inherit"/>
14+
<element name="valueForTokenLifetimeAdmin" type="input" selector="#oauth_access_token_lifetime_admin"/>
15+
<element name="systemValueForTokenLifetimeAdmin" type="checkbox" selector="#oauth_access_token_lifetime_admin_inherit"/>
16+
</section>
17+
</sections>
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" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminConfigSaveEmptySettingsTest">
11+
<annotations>
12+
<features value="Configuration"/>
13+
<stories value="Save settings 'Access Token Expiration'."/>
14+
<title value="Save settings 'Access Token Expiration' with empty values."/>
15+
<description value="Save settings 'Customer Token Lifetime' and 'Admin Token Lifetime' with empty values without validations."/>
16+
<severity value="AVERAGE"/>
17+
<testCaseId value="MC-37382"/>
18+
<group value="configuration"/>
19+
</annotations>
20+
<before>
21+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
22+
</before>
23+
<after>
24+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
25+
</after>
26+
<amOnPage url="{{AdminConfigServicesOauthPage.url}}" stepKey="navigateToConfigurationPage"/>
27+
<waitForPageLoad stepKey="waitForPageLoad"/>
28+
<conditionalClick selector="{{AdminConfigAccessTokenExpirationSection.tabAccessTokenLifetime}}" dependentSelector="{{AdminConfigAccessTokenExpirationSection.CheckIfTabExpand}}" visible="true" stepKey="expandTab"/>
29+
<waitForAjaxLoad stepKey="waitForAjax"/>
30+
<uncheckOption selector="{{AdminConfigAccessTokenExpirationSection.systemValueForTokenLifetime}}" stepKey="uncheckUseSystemValue"/>
31+
<fillField selector="{{AdminConfigAccessTokenExpirationSection.valueForTokenLifetime}}" userInput="" stepKey="valueForTokenLifetime"/>
32+
<uncheckOption selector="{{AdminConfigAccessTokenExpirationSection.systemValueForTokenLifetimeAdmin}}" stepKey="uncheckUseSystemValueAdmin"/>
33+
<fillField selector="{{AdminConfigAccessTokenExpirationSection.valueForTokenLifetimeAdmin}}" userInput="" stepKey="valueForTokenLifetimeAdmin"/>
34+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfig"/>
35+
</test>
36+
</tests>

app/code/Magento/Integration/etc/adminhtml/system.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
<field id="customer" translate="label comment" type="text" sortOrder="30" showInDefault="1" canRestore="1">
1717
<label>Customer Token Lifetime (hours)</label>
1818
<comment>We will disable this feature if the value is empty.</comment>
19-
<validate>required-entry validate-zero-or-greater validate-number</validate>
19+
<validate>validate-zero-or-greater validate-number</validate>
2020
</field>
2121
<field id="admin" translate="label comment" type="text" sortOrder="60" showInDefault="1" canRestore="1">
2222
<label>Admin Token Lifetime (hours)</label>
2323
<comment>We will disable this feature if the value is empty.</comment>
24-
<validate>required-entry validate-zero-or-greater validate-number</validate>
24+
<validate>validate-zero-or-greater validate-number</validate>
2525
</field>
2626
</group>
2727
<group id="cleanup" translate="label" type="text" sortOrder="300" showInDefault="1">
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminGridSelectAllActionGroup">
12+
<annotations>
13+
<description>Click on select all option on the grid</description>
14+
</annotations>
15+
16+
<waitForElementVisible selector="{{AdminGridSelectRows.multicheckDropdown}}" stepKey="waitForElement"/>
17+
<click selector="{{AdminGridSelectRows.multicheckDropdown}}" stepKey="openMulticheckDropdown"/>
18+
<click selector="{{AdminGridSelectRows.multicheckOption('Select All')}}" stepKey="clickSelectAllCustomers"/>
19+
</actionGroup>
20+
</actionGroups>

0 commit comments

Comments
 (0)