Skip to content

Commit 59b7ba8

Browse files
committed
MC-38589: [MFTF] AdminEnhancedMediaGalleryVerifyAssetFilterTest failed because of bad design
1 parent 68c903f commit 59b7ba8

10 files changed

+208
-8
lines changed

app/code/Magento/Cms/Test/Mftf/Section/TinyMCESection/MediaGallerySection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,6 @@
3636
<element name="checkIfWysiwygArrowExpand" type="button" selector="//li[@id='d3lzaXd5Zw--' and contains(@class,'jstree-closed')]"/>
3737
<element name="confirmDelete" type="button" selector=".action-primary.action-accept"/>
3838
<element name="imageBlockByName" type="block" selector="//div[@data-row='file'][contains(., '{{imageName}}')]" parameterized="true"/>
39+
<element name="insertEditImageModalWindow" type="block" selector=".mce-floatpanel.mce-window[aria-label='Insert/edit image']"/>
3940
</section>
4041
</sections>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup">
12+
<annotations>
13+
<description>Open Media Gallery page and delete all images</description>
14+
</annotations>
15+
16+
<amOnPage url="{{AdminStandaloneMediaGalleryPage.url}}" stepKey="openMediaGalleryPage"/>
17+
<!-- It sometimes is loading too long for default 10s -->
18+
<waitForPageLoad time="60" stepKey="waitForPageFullyLoaded"/>
19+
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clearExistingFilters"/>
20+
<helper class="\Magento\MediaGalleryUi\Test\Mftf\Helper\MediaGalleryUiHelper" method="deleteAllImagesUsingMassAction" stepKey="deleteAllImagesUsingMassAction">
21+
<argument name="emptyRow">{{AdminMediaGalleryGridSection.noDataMessage}}</argument>
22+
<argument name="deleteImagesButton">{{AdminEnhancedMediaGalleryMassActionSection.deleteImages}}</argument>
23+
<argument name="checkImage">{{AdminEnhancedMediaGalleryMassActionSection.massActionCheckboxAll}}</argument>
24+
<argument name="deleteSelectedButton">{{AdminEnhancedMediaGalleryMassActionSection.deleteSelected}}</argument>
25+
<argument name="modalAcceptButton">{{AdminEnhancedMediaGalleryDeleteModalSection.confirmDelete}}</argument>
26+
<argument name="successMessageContainer">{{AdminMediaGalleryMessagesSection.success}}</argument>
27+
<argument name="successMessage">been successfully deleted</argument>
28+
</helper>
29+
</actionGroup>
30+
</actionGroups>

app/code/Magento/MediaGalleryUi/Test/Mftf/ActionGroup/AdminMediaGalleryClickAddSelectedActionGroup.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1111
<actionGroup name="AdminMediaGalleryClickAddSelectedActionGroup">
1212
<waitForElementVisible selector="{{AdminMediaGalleryHeaderButtonsSection.addSelected}}" stepKey="waitForAddSelectedButton"/>
13-
<click selector="{{AdminMediaGalleryHeaderButtonsSection.addSelected}}" stepKey="ClickAddSelected"/>
14-
<wait time="5" stepKey="waitForImageToBeAdded"/>
15-
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskDisappear"/>
13+
<click selector="{{AdminMediaGalleryHeaderButtonsSection.addSelected}}" stepKey="clickAddSelected"/>
14+
<waitForPageLoad stepKey="waitForPageLoad"/>
15+
<waitForElementVisible selector="{{MediaGallerySection.insertEditImageModalWindow}}" stepKey="waitForInsertEditImageWindow"/>
1616
</actionGroup>
1717
</actionGroups>

app/code/Magento/MediaGalleryUi/Test/Mftf/ActionGroup/AdminOpenMediaGalleryFromTinyMce4IconActionGroup.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<annotations>
1212
<description>Opens Enhanced MediaGallery from category page by tyniMce4 image icon</description>
1313
</annotations>
14-
15-
<click selector="{{AdminCategoryContentSection.sectionHeader}}" stepKey="clickExpandContent"/>
14+
15+
<conditionalClick selector="{{AdminCategoryContentSection.sectionHeader}}" dependentSelector="{{AdminCategoryContentSection.uploadButton}}" visible="false" stepKey="clickExpandContent"/>
1616
<waitForElementVisible selector="{{TinyMCESection.TinyMCE4}}" stepKey="waitForTinyMCE4" />
1717
<click selector="{{TinyMCESection.InsertImageIcon}}" stepKey="clickInsertImageIcon" />
1818
<waitForPageLoad stepKey="waitForPageLoad" />
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\MediaGalleryUi\Test\Mftf\Helper;
9+
10+
use Facebook\WebDriver\Remote\RemoteWebDriver as FacebookWebDriver;
11+
use Facebook\WebDriver\Remote\RemoteWebElement;
12+
use Facebook\WebDriver\WebDriverBy;
13+
use Magento\FunctionalTestingFramework\Helper\Helper;
14+
use Magento\FunctionalTestingFramework\Module\MagentoWebDriver;
15+
16+
/**
17+
* Class for MFTF helpers for MediaGalleryUi module.
18+
*/
19+
class MediaGalleryUiHelper extends Helper
20+
{
21+
/**
22+
* Delete all images using mass action.
23+
*
24+
* @param string $emptyRow
25+
* @param string $deleteImagesButton
26+
* @param string $checkImage
27+
* @param string $deleteSelectedButton
28+
* @param string $modalAcceptButton
29+
* @param string $successMessageContainer
30+
* @param string $successMessage
31+
*
32+
* @return void
33+
*/
34+
public function deleteAllImagesUsingMassAction(
35+
string $emptyRow,
36+
string $deleteImagesButton,
37+
string $checkImage,
38+
string $deleteSelectedButton,
39+
string $modalAcceptButton,
40+
string $successMessageContainer,
41+
string $successMessage
42+
): void {
43+
try {
44+
/** @var MagentoWebDriver $webDriver */
45+
$magentoWebDriver = $this->getModule('\Magento\FunctionalTestingFramework\Module\MagentoWebDriver');
46+
/** @var FacebookWebDriver $webDriver */
47+
$webDriver = $magentoWebDriver->webDriver;
48+
$rows = $webDriver->findElements(WebDriverBy::cssSelector($emptyRow));
49+
while (empty($rows)) {
50+
$magentoWebDriver->click($deleteImagesButton);
51+
$magentoWebDriver->waitForPageLoad(30);
52+
$magentoWebDriver->waitForElementVisible($deleteSelectedButton, 10);
53+
54+
// Check all images
55+
/** @var RemoteWebElement[] $images */
56+
$imagesCheckboxes = $webDriver->findElements(WebDriverBy::cssSelector($checkImage));
57+
/** @var RemoteWebElement $image */
58+
foreach ($imagesCheckboxes as $imageCheckbox) {
59+
$imageCheckbox->click();
60+
}
61+
62+
$magentoWebDriver->waitForPageLoad(30);
63+
$magentoWebDriver->click($deleteSelectedButton);
64+
$magentoWebDriver->waitForPageLoad(30);
65+
$magentoWebDriver->waitForElementVisible($modalAcceptButton, 10);
66+
$magentoWebDriver->click($modalAcceptButton);
67+
$magentoWebDriver->waitForPageLoad(60);
68+
$magentoWebDriver->waitForElementVisible($successMessageContainer, 10);
69+
$magentoWebDriver->see($successMessage, $successMessageContainer);
70+
71+
$rows = $webDriver->findElements(WebDriverBy::cssSelector($emptyRow));
72+
}
73+
} catch (\Exception $e) {
74+
$this->fail($e->getMessage());
75+
}
76+
}
77+
}

app/code/Magento/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryMassActionSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313
<element name="cancelMassActionMode" type="button" selector="#cancel_massaction"/>
1414
<element name="deleteImages" type="button" selector="#delete_massaction"/>
1515
<element name="deleteSelected" type="button" selector="#delete_selected_massaction"/>
16+
<element name="massActionCheckboxAll" type="checkbox" selector="[data-id='media-gallery-masonry-grid'] .mediagallery-massaction-checkbox input[type='checkbox']"/>
1617
</section>
1718
</sections>

app/code/Magento/MediaGalleryUi/Test/Mftf/Section/AdminMediaGalleryGridSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="AdminMediaGalleryGridSection">
11-
<element name="noDataMessage" type="text" selector="div.no-data-message-container"/>
11+
<element name="noDataMessage" type="text" selector="[data-id='media-gallery-masonry-grid'] .no-data-message-container"/>
1212
<element name="nthImageInGrid" type="text" selector="div[class='masonry-image-column'][data-repeat-index='{{row}}'] img" parameterized="true"/>
1313
</section>
1414
</sections>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="AdminMediaGalleryMessagesSection">
11+
<element name="success" type="text" selector=".media-gallery-container ul.messages div.message.message-success span"/>
12+
</section>
13+
</sections>

app/code/Magento/MediaGalleryUi/Test/Mftf/Test/AdminEnhancedMediaGalleryVerifyAssetFilterTest.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@
77
-->
88

99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10-
<test name="AdminEnhancedMediaGalleryVerifyAssetFilterTest">
10+
<test name="AdminEnhancedMediaGalleryVerifyAssetFilterTest" deprecated="Use AdminEnhancedMediaGalleryVerifyFilterByAssetTest instead">
1111
<annotations>
1212
<features value="MediaGallery"/>
1313
<useCaseId value="https://github.com/magento/adobe-stock-integration/issues/1292"/>
14-
<title value="User sees entities where asset is used in"/>
14+
<title value="DEPRECATED. User sees entities where asset is used in"/>
1515
<stories value="Story 58: User sees entities where asset is used in"/>
1616
<testCaseId value="https://studio.cucumber.io/projects/131313/test-plan/folders/1320712/scenarios/4951024"/>
1717
<description value="User sees entities where asset is used in"/>
1818
<severity value="CRITICAL"/>
1919
<group value="media_gallery_ui"/>
20+
<skip>
21+
<issueId value="DEPRECATED">Use AdminEnhancedMediaGalleryVerifyFilterByAssetTest instead</issueId>
22+
</skip>
2023
</annotations>
2124
<before>
2225
<createData entity="SimpleSubCategory" stepKey="category"/>
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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="AdminEnhancedMediaGalleryVerifyFilterByAssetTest">
11+
<annotations>
12+
<features value="MediaGallery"/>
13+
<stories value="Story 58: User sees entities where asset is used in"/>
14+
<title value="User sees entities where asset is used in"/>
15+
<description value="User sees entities where asset is used in"/>
16+
<severity value="CRITICAL"/>
17+
<testCaseId value="https://studio.cucumber.io/projects/131313/test-plan/folders/1320712/scenarios/4951024"/>
18+
<useCaseId value="https://github.com/magento/adobe-stock-integration/issues/1292"/>
19+
<group value="media_gallery_ui"/>
20+
</annotations>
21+
22+
<before>
23+
<createData entity="SimpleSubCategory" stepKey="category"/>
24+
<actionGroup ref="EnabledWYSIWYGActionGroup" stepKey="enableWYSIWYG"/>
25+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
26+
<actionGroup ref="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup" stepKey="deleteAllImages"/>
27+
</before>
28+
29+
<after>
30+
<deleteData createDataKey="category" stepKey="deleteCategory"/>
31+
<actionGroup ref="DisabledWYSIWYGActionGroup" stepKey="disableWYSIWYG"/>
32+
<actionGroup ref="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup" stepKey="deleteAllImages"/>
33+
34+
<actionGroup ref="AdminOpenCategoryGridPageActionGroup" stepKey="openMediaGalleryCategoryGridPage"/>
35+
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultView"/>
36+
37+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
38+
</after>
39+
40+
<actionGroup ref="GoToAdminCategoryPageByIdActionGroup" stepKey="openCategoryPage">
41+
<argument name="id" value="$category.id$"/>
42+
</actionGroup>
43+
<actionGroup ref="AdminOpenMediaGalleryTinyMce4ActionGroup" stepKey="openMediaGalleryFromWysiwyg"/>
44+
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultView"/>
45+
<actionGroup ref="AdminEnhancedMediaGalleryUploadImageActionGroup" stepKey="uploadFirstIMage">
46+
<argument name="image" value="ImageUpload3"/>
47+
</actionGroup>
48+
<actionGroup ref="AdminEnhancedMediaGalleryUploadImageActionGroup" stepKey="uploadSecondImage">
49+
<argument name="image" value="ImageUpload_1"/>
50+
</actionGroup>
51+
<actionGroup ref="AdminMediaGalleryClickImageInGridActionGroup" stepKey="selectCategoryImageInGrid">
52+
<argument name="imageName" value="{{ImageMetadata.title}}"/>
53+
</actionGroup>
54+
<actionGroup ref="AdminMediaGalleryClickAddSelectedActionGroup" stepKey="clickAddSelectedContentImage"/>
55+
<actionGroup ref="AdminMediaGalleryClickOkButtonTinyMce4ActionGroup" stepKey="clickOkButton"/>
56+
<actionGroup ref="AdminSaveCategoryFormActionGroup" stepKey="saveCategory"/>
57+
58+
<actionGroup ref="AdminOpenCategoryGridPageActionGroup" stepKey="openMediaGalleryCategoryGridPage"/>
59+
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultViewAgain"/>
60+
<actionGroup ref="AdminEnhancedMediaGalleryCategoryGridExpandFilterActionGroup" stepKey="expandFilters"/>
61+
<actionGroup ref="AdminEnhancedMediaGallerySelectUsedInFilterActionGroup" stepKey="setUsedInFilter">
62+
<argument name="filterName" value="Asset"/>
63+
<argument name="optionName" value="{{ImageMetadata.title}}"/>
64+
</actionGroup>
65+
<actionGroup ref="AdminEnhancedMediaGalleryCategoryGridApplyFiltersActionGroup" stepKey="applyFilters"/>
66+
<actionGroup ref="AssertAdminCategoryGridPageNumberOfRecordsActionGroup" stepKey="assertOneRecordInGrid">
67+
<argument name="numberOfRecords" value="1 records found"/>
68+
</actionGroup>
69+
<actionGroup ref="AssertAdminCategoryGridPageImageColumnActionGroup" stepKey="assertCategoryGridPageImageColumn"/>
70+
<actionGroup ref="AssertAdminCategoryGridPageDetailsActionGroup" stepKey="assertCategoryInGrid">
71+
<argument name="category" value="$category$"/>
72+
</actionGroup>
73+
<actionGroup ref="AssertAdminCategoryGridPageProductsInMenuEnabledColumnsActionGroup" stepKey="assertCategoryGridPageProductsInMenuEnabledColumns"/>
74+
</test>
75+
</tests>

0 commit comments

Comments
 (0)