Skip to content

Commit 80c3184

Browse files
committed
MC-38488: [MFTF] AdminMediaGalleryAssertUsedInLinkBlocksGridTest failed because of bad design
1 parent 9b1c4d4 commit 80c3184

File tree

7 files changed

+155
-35
lines changed

7 files changed

+155
-35
lines changed

app/code/Magento/MediaGalleryCmsUi/Test/Mftf/Test/AdminMediaGalleryAssertImageUsedInLinkBlocksGridTest.xml

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,55 @@
99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
1010
<test name="AdminMediaGalleryAssertImageUsedInLinkBlocksGridTest">
1111
<annotations>
12-
<features value="AdminMediaGalleryUsedInBlocksFilter"/>
13-
<useCaseId value="https://github.com/magento/adobe-stock-integration/issues/1168"/>
14-
<title value="Used in blocks link"/>
12+
<features value="MediaGalleryCmsUi"/>
1513
<stories value="Story 58: User sees entities where asset is used in" />
16-
<testCaseId value="https://studio.cucumber.io/projects/131313/test-plan/folders/1320712/scenarios/4951848"/>
14+
<title value="Used in blocks link"/>
1715
<description value="User filters assets used in blocks"/>
1816
<severity value="CRITICAL"/>
17+
<testCaseId value="https://studio.cucumber.io/projects/131313/test-plan/folders/1320712/scenarios/4951848"/>
18+
<useCaseId value="https://github.com/magento/adobe-stock-integration/issues/1168"/>
1919
<group value="media_gallery_ui"/>
2020
</annotations>
2121
<before>
22-
<createData entity="_defaultBlock" stepKey="block" />
23-
<actionGroup ref="AdminLoginActionGroup" stepKey="login"/>
22+
<createData entity="_defaultBlock" stepKey="createBlock" />
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
<actionGroup ref="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup" stepKey="deleteAllImages"/>
2425
</before>
2526
<after>
26-
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultView"/>
27-
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
28-
<actionGroup ref="CliCacheFlushActionGroup" stepKey="flushCacheAfterTest">
29-
<argument name="tags" value="block_html"/>
27+
<deleteData createDataKey="createBlock" stepKey="deleteBlock"/>
28+
29+
<actionGroup ref="AdminOpenStandaloneMediaGalleryActionGroup" stepKey="openMediaGallery"/>
30+
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultViewAgain"/>
31+
<actionGroup ref="AdminMediaGalleryFolderSelectActionGroup" stepKey="selectCreatedFolderAgain">
32+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
33+
</actionGroup>
34+
<actionGroup ref="AdminEnhancedMediaGalleryViewImageDetails" stepKey="openViewImageDetailsToVerifyEmptyUsedIn"/>
35+
<actionGroup ref="AssertAdminEnhancedMediaGalleryUsedInSectionNotDisplayedActionGroup" stepKey="assertThereIsNoUsedInSection"/>
36+
<actionGroup ref="AdminEnhancedMediaGalleryCloseViewDetailsActionGroup" stepKey="closeImageDetails"/>
37+
38+
<actionGroup ref="AdminMediaGalleryFolderDeleteActionGroup" stepKey="deleteFolder"/>
39+
<actionGroup ref="AdminMediaGalleryAssertFolderDoesNotExistActionGroup" stepKey="assertFolderWasDeleted">
40+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
3041
</actionGroup>
42+
43+
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultView"/>
44+
<actionGroup ref="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup" stepKey="deleteAllImagesAfterTest"/>
45+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
3146
</after>
3247

3348
<actionGroup ref="NavigateToCreatedCMSBlockPageActionGroup" stepKey="navigateToCreatedCMSBlockPage">
34-
<argument name="CMSBlockPage" value="$$block$$"/>
49+
<argument name="CMSBlockPage" value="$createBlock$"/>
3550
</actionGroup>
3651
<click selector="{{CmsWYSIWYGSection.InsertImageBtn}}" stepKey="clickInsertImageIcon" />
3752
<waitForPageLoad stepKey="waitForInitialPageLoad" />
3853
<waitForPageLoad stepKey="waitForSecondaryPageLoad" />
3954
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFilter"/>
4055
<actionGroup ref="AdminMediaGalleryOpenNewFolderFormActionGroup" stepKey="openNewFolderForm"/>
4156
<actionGroup ref="AdminMediaGalleryCreateNewFolderActionGroup" stepKey="createNewFolder">
42-
<argument name="name" value="blockImage"/>
57+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
4358
</actionGroup>
4459
<actionGroup ref="AdminMediaGalleryAssertFolderNameActionGroup" stepKey="assertNewFolderCreated">
45-
<argument name="name" value="blockImage"/>
60+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
4661
</actionGroup>
4762
<waitForPageLoad stepKey="waitForGridToLoadAfterNewFolderCreated"/>
4863
<actionGroup ref="AdminEnhancedMediaGalleryUploadImageActionGroup" stepKey="uploadImage">
@@ -57,34 +72,16 @@
5772
<actionGroup ref="AdminOpenStandaloneMediaGalleryActionGroup" stepKey="openStandaloneMediaGallery"/>
5873
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultView"/>
5974
<actionGroup ref="AdminMediaGalleryFolderSelectActionGroup" stepKey="selectCreatedFolder">
60-
<argument name="name" value="blockImage"/>
75+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
6176
</actionGroup>
6277
<actionGroup ref="AdminEnhancedMediaGalleryViewImageDetails" stepKey="openViewImageDetails"/>
6378
<actionGroup ref="AdminEnhancedMediaGalleryClickEntityUsedInActionGroup" stepKey="clickUsedInBlocks">
6479
<argument name="entityName" value="Blocks"/>
6580
</actionGroup>
66-
<wait time="5" stepKey="waitForAssertLoads"/>
67-
<reloadPage stepKey="reloadBlocksGridPage"/>
68-
<waitForPageLoad stepKey="waitForBlocksGridPageLoad"/>
81+
6982
<actionGroup ref="AdminAssertMediaGalleryFilterPlaceHolderGridActionGroup" stepKey="assertFilterApplied">
7083
<argument name="filterPlaceholder" value="{{ImageMetadata.title}}"/>
7184
</actionGroup>
7285
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFilterInBlocksGrid"/>
73-
74-
<deleteData createDataKey="block" stepKey="deleteBlock"/>
75-
76-
<actionGroup ref="AdminOpenStandaloneMediaGalleryActionGroup" stepKey="openMediaGallery"/>
77-
<actionGroup ref="ResetAdminDataGridToDefaultViewActionGroup" stepKey="resetAdminDataGridToDefaultViewAgain"/>
78-
<actionGroup ref="AdminMediaGalleryFolderSelectActionGroup" stepKey="selectCreatedFolderAgain">
79-
<argument name="name" value="blockImage"/>
80-
</actionGroup>
81-
<actionGroup ref="AdminEnhancedMediaGalleryViewImageDetails" stepKey="openViewImageDetailsToVerifyEmptyUsedIn"/>
82-
<actionGroup ref="AssertAdminEnhancedMediaGalleryUsedInSectionNotDisplayedActionGroup" stepKey="assertThereIsNoUsedInSection"/>
83-
<actionGroup ref="AdminEnhancedMediaGalleryCloseViewDetailsActionGroup" stepKey="closeImageDetails"/>
84-
85-
<actionGroup ref="AdminMediaGalleryFolderDeleteActionGroup" stepKey="deleteFolder"/>
86-
<actionGroup ref="AdminMediaGalleryAssertFolderDoesNotExistActionGroup" stepKey="assertFolderWasDeleted">
87-
<argument name="name" value="blockImage"/>
88-
</actionGroup>
8986
</test>
9087
</tests>
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>
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/AdminEnhancedMediaGalleryImageActionsSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<section name="AdminEnhancedMediaGalleryImageActionsSection">
1111
<element name="openContextMenu" type="button" selector=".three-dots"/>
1212
<element name="contextMenuItem" type="block" selector="//div[@class='media-gallery-image']//ul[@class='action-menu _active']//li//a[@class='action-menu-item']"/>
13-
<element name="viewDetails" type="button" selector="//ul[@class='action-menu _active']//a[@class='action-menu-item' and contains(text(), 'View Details')]" timeout="30" />
13+
<element name="viewDetails" type="button" selector="//ul[@class='action-menu _active']//a[text()='View Details']" timeout="30" />
1414
<element name="delete" type="button" selector="[data-ui-id='action-delete']"/>
1515
<element name="edit" type="button" selector="[data-ui-id='action-edit']"/>
1616
<element name="imageInGrid" type="button" selector="//li[@data-ui-id='title'and text()='{{imageTitle}}']/parent::*/parent::*/parent::div//img[@class='media-gallery-image-column']" parameterized="true"/>

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>
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/Ui/view/base/web/js/grid/filters/elements/ui-select.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ define([
1818
loadedOption: [],
1919
validationLoading: true,
2020
imports: {
21+
applied: '${ $.filterChipsProvider }:applied',
2122
activeIndex: '${ $.bookmarkProvider }:activeIndex'
2223
},
2324
modules: {
2425
filterChips: '${ $.filterChipsProvider }'
2526
},
2627
listens: {
27-
activeIndex: 'validateInitialValue'
28+
activeIndex: 'validateInitialValue',
29+
applied: 'validateInitialValue'
2830
}
2931

3032
},

0 commit comments

Comments
 (0)