Skip to content

Commit 5259113

Browse files
committed
Merge remote-tracking branch 'origin/MC-38488' into 2.4-develop-pr104
# Conflicts: # app/code/Magento/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryImageActionsSection.xml
2 parents 4af523c + 46fc338 commit 5259113

7 files changed

+214
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
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="AdminMediaGalleryAssertImageUsedInLinkBlocksGridTest">
11+
<annotations>
12+
<features value="MediaGalleryCmsUi"/>
13+
<stories value="Story 58: User sees entities where asset is used in" />
14+
<title value="Used in blocks link"/>
15+
<description value="User filters assets used in blocks"/>
16+
<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"/>
19+
<group value="media_gallery_ui"/>
20+
</annotations>
21+
<before>
22+
<createData entity="_defaultBlock" stepKey="createBlock" />
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
<actionGroup ref="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup" stepKey="deleteAllImages"/>
25+
</before>
26+
<after>
27+
<deleteData createDataKey="createBlock" stepKey="deleteBlock"/>
28+
29+
<actionGroup ref="AdminOpenStandaloneMediaGalleryActionGroup" stepKey="openMediaGallery"/>
30+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFiltersOnStandaloneMediaGalleryPage"/>
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}}"/>
41+
</actionGroup>
42+
43+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFiltersOnMediaGalleryPage"/>
44+
<actionGroup ref="AdminEnhancedMediaGalleryDeletedAllImagesActionGroup" stepKey="deleteAllImagesAfterTest"/>
45+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
46+
</after>
47+
48+
<actionGroup ref="NavigateToCreatedCMSBlockPageActionGroup" stepKey="navigateToCreatedCMSBlockPage">
49+
<argument name="CMSBlockPage" value="$createBlock$"/>
50+
</actionGroup>
51+
<click selector="{{CmsWYSIWYGSection.InsertImageBtn}}" stepKey="clickInsertImageIcon" />
52+
<waitForPageLoad stepKey="waitForInitialPageLoad" />
53+
<waitForElementVisible selector="{{AdminMediaGalleryFolderSection.folderNewCreateButton}}" stepKey="waitForNewFolderButton"/>
54+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFilter"/>
55+
<actionGroup ref="AdminMediaGalleryOpenNewFolderFormActionGroup" stepKey="openNewFolderForm"/>
56+
<actionGroup ref="AdminMediaGalleryCreateNewFolderActionGroup" stepKey="createNewFolder">
57+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
58+
</actionGroup>
59+
<actionGroup ref="AdminMediaGalleryAssertFolderNameActionGroup" stepKey="assertNewFolderCreated">
60+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
61+
</actionGroup>
62+
<waitForPageLoad stepKey="waitForGridToLoadAfterNewFolderCreated"/>
63+
<actionGroup ref="AdminEnhancedMediaGalleryUploadImageActionGroup" stepKey="uploadImage">
64+
<argument name="image" value="ImageUpload3"/>
65+
</actionGroup>
66+
<actionGroup ref="AdminMediaGalleryClickImageInGridActionGroup" stepKey="selectContentImageInGrid">
67+
<argument name="imageName" value="{{ImageMetadata.title}}"/>
68+
</actionGroup>
69+
<actionGroup ref="AdminMediaGalleryClickAddSelectedActionGroup" stepKey="clickAddSelectedContentImage"/>
70+
<click selector="{{BlockNewPagePageActionsSection.saveBlock}}" stepKey="saveBlock"/>
71+
72+
<actionGroup ref="AdminOpenStandaloneMediaGalleryActionGroup" stepKey="openStandaloneMediaGallery"/>
73+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFiltersOnStandaloneMediaGallery"/>
74+
<actionGroup ref="AdminMediaGalleryFolderSelectActionGroup" stepKey="selectCreatedFolder">
75+
<argument name="name" value="{{AdminMediaGalleryFolderData.name}}"/>
76+
</actionGroup>
77+
<actionGroup ref="AdminEnhancedMediaGalleryViewImageDetails" stepKey="openViewImageDetails"/>
78+
<actionGroup ref="AdminEnhancedMediaGalleryClickEntityUsedInActionGroup" stepKey="clickUsedInBlocks">
79+
<argument name="entityName" value="Blocks"/>
80+
</actionGroup>
81+
82+
<actionGroup ref="AdminAssertMediaGalleryFilterPlaceHolderGridActionGroup" stepKey="assertFilterApplied">
83+
<argument name="filterPlaceholder" value="{{ImageMetadata.title}}"/>
84+
</actionGroup>
85+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFilterInBlocksGrid"/>
86+
</test>
87+
</tests>

app/code/Magento/MediaGalleryCmsUi/Test/Mftf/Test/AdminMediaGalleryAssertUsedInLinkBlocksGridTest.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="AdminMediaGalleryAssertUsedInLinkBlocksGridTest">
10+
<test name="AdminMediaGalleryAssertUsedInLinkBlocksGridTest" deprecated="Use AdminMediaGalleryAssertImageUsedInLinkBlocksGridTest instead">
1111
<annotations>
1212
<features value="AdminMediaGalleryUsedInBlocksFilter"/>
1313
<useCaseId value="https://github.com/magento/adobe-stock-integration/issues/1168"/>
14-
<title value="Used in blocks link"/>
14+
<title value="Deprecated. Used in blocks link"/>
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/4951848"/>
1717
<description value="User filters assets used in blocks"/>
1818
<severity value="CRITICAL"/>
1919
<group value="media_gallery_ui"/>
20+
<skip>
21+
<issueId value="DEPRECATED">Use AdminMediaGalleryAssertImageUsedInLinkBlocksGridTest instead</issueId>
22+
</skip>
2023
</annotations>
2124
<before>
2225
<createData entity="_defaultBlock" stepKey="block" />
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[text()='View Details']"/>
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>

0 commit comments

Comments
 (0)