Skip to content

Commit

Permalink
🔃 [Magento Community Engineering] Community Contributions - 2.4-devel…
Browse files Browse the repository at this point in the history
…op 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
  • Loading branch information
magento-engcom-team authored Sep 19, 2020
2 parents d7ff26b + 686ec6f commit 7ddd47e
Show file tree
Hide file tree
Showing 21 changed files with 299 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AdminOpenAttributeSetGridPageActionGroup">
<annotations>
<description>Open the Attribute Sets grid page.</description>
</annotations>

<amOnPage url="{{AdminProductAttributeSetGridPage.url}}" stepKey="goToAttributeSetPage"/>
<waitForPageLoad stepKey="waitForAttributeSetPageLoad"/>
</actionGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="GoToAttributeGridPageActionGroup">
<actionGroup name="GoToAttributeGridPageActionGroup" deprecated="Use AdminOpenAttributeSetGridPageActionGroup instead.">
<annotations>
<description>Goes to the Attribute Sets grid page.</description>
</annotations>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

<!-- Assign attribute to set -->
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
<actionGroup ref="GoToAttributeGridPageActionGroup" stepKey="goToAttributeSetPage"/>
<actionGroup ref="AdminOpenAttributeSetGridPageActionGroup" stepKey="goToAttributeSetPage"/>
<actionGroup ref="GoToAttributeSetByNameActionGroup" stepKey="openAttributeSetByName">
<argument name="name" value="$createAttributeSet.attribute_set_name$"/>
</actionGroup>
Expand Down
19 changes: 14 additions & 5 deletions app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
* @SuppressWarnings(PHPMD.TooManyFields)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
*
* @api
* @since 100.0.2
Expand Down Expand Up @@ -152,6 +153,11 @@ class Storage extends \Magento\Framework\DataObject
*/
private $ioFile;

/**
* @var \Magento\Framework\File\Mime|null
*/
private $mime;

/**
* Construct
*
Expand All @@ -174,6 +180,7 @@ class Storage extends \Magento\Framework\DataObject
* @param \Magento\Framework\Filesystem\DriverInterface $file
* @param \Magento\Framework\Filesystem\Io\File|null $ioFile
* @param \Psr\Log\LoggerInterface|null $logger
* @param \Magento\Framework\File\Mime $mime
*
* @throws \Magento\Framework\Exception\FileSystemException
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
Expand All @@ -197,7 +204,8 @@ public function __construct(
array $data = [],
\Magento\Framework\Filesystem\DriverInterface $file = null,
\Magento\Framework\Filesystem\Io\File $ioFile = null,
\Psr\Log\LoggerInterface $logger = null
\Psr\Log\LoggerInterface $logger = null,
\Magento\Framework\File\Mime $mime = null
) {
$this->_session = $session;
$this->_backendUrl = $backendUrl;
Expand All @@ -217,6 +225,7 @@ public function __construct(
$this->_dirs = $dirs;
$this->file = $file ?: ObjectManager::getInstance()->get(\Magento\Framework\Filesystem\Driver\File::class);
$this->ioFile = $ioFile ?: ObjectManager::getInstance()->get(\Magento\Framework\Filesystem\Io\File::class);
$this->mime = $mime ?: ObjectManager::getInstance()->get(\Magento\Framework\File\Mime::class);
parent::__construct($data);
}

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

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

list($imageWidth, $imageHeight) = $this->getResizedParams($source);

$image->resize($imageWidth, $imageHeight);
$dest = $targetDir . '/' . $this->ioFile->getPathInfo($source)['basename'];
$image->save($dest);
Expand All @@ -670,7 +679,7 @@ private function getResizedParams(string $source): array

//phpcs:ignore Generic.PHP.NoSilencedErrors
list($imageWidth, $imageHeight) = @getimagesize($source);

if ($imageWidth && $imageHeight) {
$imageWidth = $configWidth > $imageWidth ? $imageWidth : $configWidth;
$imageHeight = $configHeight > $imageHeight ? $imageHeight : $configHeight;
Expand All @@ -679,7 +688,7 @@ private function getResizedParams(string $source): array
}
return [$configWidth, $configHeight];
}

/**
* Resize images on the fly in controller action
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<section name="AdminCustomerGridMainActionsSection">
<element name="addNewCustomer" type="button" selector="#add" timeout="30"/>
<element name="multicheck" type="checkbox" selector="#container>div>div.admin__data-grid-wrap>table>thead>tr>th.data-grid-multicheck-cell>div>label"/>
<element name="multicheckTick" type="checkbox" selector="#container>div>div.admin__data-grid-wrap>table>thead>tr>th.data-grid-multicheck-cell>div>input"/>
<element name="delete" type="button" selector="//*[contains(@class, 'admin__data-grid-header')]//span[contains(@class,'action-menu-item') and text()='Delete']"/>
<element name="actions" type="text" selector=".action-select"/>
<element name="customerCheckbox" type="button" selector="//*[contains(text(),'{{arg}}')]/parent::td/preceding-sibling::td/label[@class='data-grid-checkbox-cell-inner']//input" parameterized="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AdminGridSearchSelectAllTest">
<annotations>
<stories value="Selection should be removed during search."/>
<title value="Selection should be removed during search."/>
<description value="Empty selected before and after search, like it works for filter"/>
<testCaseId value="MC-37659"/>
<severity value="CRITICAL"/>
<group value="uI"/>
</annotations>
<before>
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
<!--Create three customers-->
<createData entity="Simple_US_Customer" stepKey="firstCustomer"/>
<createData entity="Simple_US_Customer" stepKey="secondCustomer"/>
<createData entity="Simple_US_Customer" stepKey="thirdCustomer"/>
</before>
<after>
<!--Remove two created customers, third already deleted-->
<deleteData createDataKey="firstCustomer" stepKey="deleteFirstCustomer"/>
<deleteData createDataKey="secondCustomer" stepKey="deleteSecondCustomer"/>
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
</after>
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="openCustomerPage"/>
<!-- search Admin Data Grid By Keyword -->
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clickClearFilters"/>
<fillField selector="{{AdminDataGridHeaderSection.search}}" userInput="$$secondCustomer.email$$" stepKey="fillKeywordSearchFieldWithSecondCustomerEmail"/>
<click selector="{{AdminDataGridHeaderSection.submitSearch}}" stepKey="clickKeywordSearch"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<!-- Select all from dropdown -->
<actionGroup ref="AdminGridSelectAllActionGroup" stepKey="selectAllCustomers"/>
<!-- Clear searching By Keyword-->
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clickClearFiltersAfterSearch"/>
<waitForPageLoad stepKey="waitForPageLoadAfterSearchRemoved"/>
<!-- Check if selection has bee removed -->
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$secondCustomer.email$$)}}" stepKey="checkSecondCustomerCheckboxIsUnchecked"/>
<!-- Check delete action -->
<click selector="{{AdminCustomerGridMainActionsSection.customerCheckbox(($$thirdCustomer.email$$)}}" stepKey="selectThirdCustomer"/>
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerIsChecked"/>
<!-- Use delete action for selected -->
<click selector="{{AdminCustomerGridMainActionsSection.actions}}" stepKey="clickActions"/>
<click selector="{{AdminCustomerGridMainActionsSection.delete}}" stepKey="clickDelete"/>
<waitForAjaxLoad stepKey="waitForLoadConfirmation"/>
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="confirmDelete"/>
<!-- Check if only one record record has been deleted -->
<see selector="{{AdminMessagesSection.success}}" userInput="A total of 1 record(s) were deleted" stepKey="seeSuccess"/>
</test>
</tests>
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AdminGridSelectAllOnPageTest">
<annotations>
<stories value="Toggle select page."/>
<title value="Toggle select page."/>
<description value="Empty selected before and after search, like it works for filter"/>
<testCaseId value="MC-37660"/>
<severity value="CRITICAL"/>
<group value="uI"/>
</annotations>
<before>
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
<!--Create three customers-->
<createData entity="Simple_US_Customer" stepKey="firstCustomer"/>
<createData entity="Simple_US_Customer" stepKey="secondCustomer"/>
<createData entity="Simple_US_Customer" stepKey="thirdCustomer"/>
</before>
<after>
<!--Remove created customers -->
<deleteData createDataKey="firstCustomer" stepKey="deleteFirstCustomer"/>
<deleteData createDataKey="secondCustomer" stepKey="deleteSecondCustomer"/>
<deleteData createDataKey="thirdCustomer" stepKey="deleteThirdCustomer"/>
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
</after>
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="openCustomerPage"/>
<!-- Select all from dropdown -->
<actionGroup ref="AdminGridSelectAllActionGroup" stepKey="selectAllCustomers"/>
<!-- Deselect third customer -->
<click selector="{{AdminCustomerGridMainActionsSection.customerCheckbox(($$thirdCustomer.email$$)}}" stepKey="selectThirdCustomer"/>
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerCheckboxIsUnchecked"/>
<!-- Click select all on page checkbox -->
<actionGroup ref="AdminSelectAllCustomers" stepKey="selectAllCustomersOnPage"/>
<seeElement selector="{{AdminCustomerGridMainActionsSection.multicheckTick}}" stepKey="waitForElement"/>
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.multicheckTick}}" stepKey="checkAllSelectedCheckBoxIsChecked"/>
<!-- Check all created records selected -->
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$firstCustomer.email$$)}}" stepKey="checkFirstCustomerIsCheckedAfterSelectPage"/>
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$secondCustomer.email$$)}}" stepKey="checkSecondCustomerIsCheckedAfterSelectPage"/>
<seeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerIsCheckedAfterSelectPage"/>
<!-- Click deselect all on page checkbox -->
<actionGroup ref="AdminSelectAllCustomers" stepKey="deselectAllCustomersCheckbox"/>
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.multicheckTick}}" stepKey="checkAllSelectedCheckBoxUnchecked"/>
<!-- Check all created records unselected -->
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$firstCustomer.email$$)}}" stepKey="checkFirstCustomerIsUncheckedAfterSelectPage"/>
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$secondCustomer.email$$)}}" stepKey="checkSecondCustomerIsUncheckedAfterSelectPage"/>
<dontSeeCheckboxIsChecked selector="{{AdminCustomerGridMainActionsSection.customerCheckbox($$thirdCustomer.email$$)}}" stepKey="checkThirdCustomerIsUncheckedAfterSelectPage"/>
</test>
</tests>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
<page name="AdminConfigServicesOauthPage" url="admin/system_config/edit/section/oauth/" area="admin" module="Magento_Integration">
<section name="AdminConfigAccessTokenExpirationSection"/>
</page>
</pages>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
<section name="AdminConfigAccessTokenExpirationSection">
<element name="tabAccessTokenLifetime" type="select" selector="#oauth_access_token_lifetime-head"/>
<element name="CheckIfTabExpand" type="button" selector="#oauth_access_token_lifetime-head:not(.open)"/>
<element name="valueForTokenLifetime" type="input" selector="#oauth_access_token_lifetime_customer"/>
<element name="systemValueForTokenLifetime" type="checkbox" selector="#oauth_access_token_lifetime_customer_inherit"/>
<element name="valueForTokenLifetimeAdmin" type="input" selector="#oauth_access_token_lifetime_admin"/>
<element name="systemValueForTokenLifetimeAdmin" type="checkbox" selector="#oauth_access_token_lifetime_admin_inherit"/>
</section>
</sections>
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AdminConfigSaveEmptySettingsTest">
<annotations>
<features value="Configuration"/>
<stories value="Save settings 'Access Token Expiration'."/>
<title value="Save settings 'Access Token Expiration' with empty values."/>
<description value="Save settings 'Customer Token Lifetime' and 'Admin Token Lifetime' with empty values without validations."/>
<severity value="AVERAGE"/>
<testCaseId value="MC-37382"/>
<group value="configuration"/>
</annotations>
<before>
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
</before>
<after>
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
</after>
<amOnPage url="{{AdminConfigServicesOauthPage.url}}" stepKey="navigateToConfigurationPage"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<conditionalClick selector="{{AdminConfigAccessTokenExpirationSection.tabAccessTokenLifetime}}" dependentSelector="{{AdminConfigAccessTokenExpirationSection.CheckIfTabExpand}}" visible="true" stepKey="expandTab"/>
<waitForAjaxLoad stepKey="waitForAjax"/>
<uncheckOption selector="{{AdminConfigAccessTokenExpirationSection.systemValueForTokenLifetime}}" stepKey="uncheckUseSystemValue"/>
<fillField selector="{{AdminConfigAccessTokenExpirationSection.valueForTokenLifetime}}" userInput="" stepKey="valueForTokenLifetime"/>
<uncheckOption selector="{{AdminConfigAccessTokenExpirationSection.systemValueForTokenLifetimeAdmin}}" stepKey="uncheckUseSystemValueAdmin"/>
<fillField selector="{{AdminConfigAccessTokenExpirationSection.valueForTokenLifetimeAdmin}}" userInput="" stepKey="valueForTokenLifetimeAdmin"/>
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfig"/>
</test>
</tests>
4 changes: 2 additions & 2 deletions app/code/Magento/Integration/etc/adminhtml/system.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
<field id="customer" translate="label comment" type="text" sortOrder="30" showInDefault="1" canRestore="1">
<label>Customer Token Lifetime (hours)</label>
<comment>We will disable this feature if the value is empty.</comment>
<validate>required-entry validate-zero-or-greater validate-number</validate>
<validate>validate-zero-or-greater validate-number</validate>
</field>
<field id="admin" translate="label comment" type="text" sortOrder="60" showInDefault="1" canRestore="1">
<label>Admin Token Lifetime (hours)</label>
<comment>We will disable this feature if the value is empty.</comment>
<validate>required-entry validate-zero-or-greater validate-number</validate>
<validate>validate-zero-or-greater validate-number</validate>
</field>
</group>
<group id="cleanup" translate="label" type="text" sortOrder="300" showInDefault="1">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AdminGridSelectAllActionGroup">
<annotations>
<description>Click on select all option on the grid</description>
</annotations>

<waitForElementVisible selector="{{AdminGridSelectRows.multicheckDropdown}}" stepKey="waitForElement"/>
<click selector="{{AdminGridSelectRows.multicheckDropdown}}" stepKey="openMulticheckDropdown"/>
<click selector="{{AdminGridSelectRows.multicheckOption('Select All')}}" stepKey="clickSelectAllCustomers"/>
</actionGroup>
</actionGroups>
Loading

0 comments on commit 7ddd47e

Please sign in to comment.