Skip to content

Commit cf6c32d

Browse files
committed
Merge branch 'MC-2294' into team3-delivery
2 parents 45bfba7 + 15b83f3 commit cf6c32d

File tree

20 files changed

+530
-175
lines changed

20 files changed

+530
-175
lines changed

app/code/Magento/PageBuilder/Controller/Adminhtml/ContentType/Image/Upload.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ class Upload extends \Magento\Backend\App\Action
3636
*/
3737
private $storeManager;
3838

39+
/**
40+
* @var \Magento\Cms\Helper\Wysiwyg\Images
41+
*/
42+
private $cmsWysiwygImages;
43+
3944
/**
4045
* Constructor
4146
*
@@ -44,19 +49,22 @@ class Upload extends \Magento\Backend\App\Action
4449
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
4550
* @param \Magento\Framework\File\UploaderFactory $uploaderFactory
4651
* @param \Magento\Framework\Filesystem\DirectoryList $directoryList
52+
* @param \Magento\Cms\Helper\Wysiwyg\Images $cmsWysiwygImages
4753
*/
4854
public function __construct(
4955
\Magento\Backend\App\Action\Context $context,
5056
\Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
5157
\Magento\Store\Model\StoreManagerInterface $storeManager,
5258
\Magento\Framework\File\UploaderFactory $uploaderFactory,
53-
\Magento\Framework\Filesystem\DirectoryList $directoryList
59+
\Magento\Framework\Filesystem\DirectoryList $directoryList,
60+
\Magento\Cms\Helper\Wysiwyg\Images $cmsWysiwygImages
5461
) {
5562
parent::__construct($context);
5663
$this->resultJsonFactory = $resultJsonFactory;
5764
$this->storeManager = $storeManager;
5865
$this->uploaderFactory = $uploaderFactory;
5966
$this->directoryList = $directoryList;
67+
$this->cmsWysiwygImages = $cmsWysiwygImages;
6068
}
6169

6270
/**
@@ -89,6 +97,7 @@ public function execute()
8997
try {
9098
$result = $fileUploader->save($this->getUploadDir());
9199
$baseUrl = $this->storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
100+
$result['id'] = $this->cmsWysiwygImages->idEncode($result['file']);
92101
$result['url'] = $baseUrl . $this->getFilePath(self::UPLOAD_DIR, $result['file']);
93102
} catch (\Exception $e) {
94103
$result = [

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeDynamicBlockActionGroup.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,12 @@
2929
<fillField selector="{{AdminBannerBasicActionSection.Name}}" userInput="{{Banner.Name}}" stepKey="fillBannerName"/>
3030
<conditionalClick selector="{{AdminBannerBasicActionSection.ContentTab}}" dependentSelector="{{BannerContentSection.checkIfContentTabOpen}}" stepKey="clickIfContentTabCloses" visible="true"/>
3131
</actionGroup>
32+
<actionGroup name="uploadImageToContentTypeFromStage">
33+
<arguments>
34+
<argument name="property"/>
35+
</arguments>
36+
<attachFile userInput="{{property.value}}" selector="{{PageBuilderStage.uploadLocalImageBtn}}" stepKey="attachImageFromLocalToStage"/>
37+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear"/>
38+
<waitForElementVisible selector="{{ImageOnConfigurationPanel.imageSource(property.fileName)}}" stepKey="waitForMainImageSource1"/>
39+
</actionGroup>
3240
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeImageActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<arguments>
3434
<argument name="property"/>
3535
</arguments>
36-
<comment userInput="Verify image A display on preview of slide-out" stepKey="commentVerifyImage"/>
36+
<comment userInput="Verify image display on preview of slide-out" stepKey="commentVerifyImage"/>
3737
<waitForElementVisible selector="{{ImageOnConfigurationPanel.imageName(property.value)}}" stepKey="seeImageNameOnPreview"/>
3838
<waitForElementVisible selector="{{ImageOnConfigurationPanel.imageSource(property.fileName)}}" stepKey="seeMainImageSource"/>
3939
</actionGroup>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/StageActionGroup.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,17 @@
5757
<waitForElementVisible time="30" selector="{{PageBuilderStage.contentTypeInStageByIndex(containerTargetType.role, containerTargetIndex)}}" stepKey="waitForContentTypeStage"/>
5858
<dontSeeElementInDOM selector="{{PageBuilderStage.contentTypeInsideContainerStage(containerTargetType.role, containerTargetIndex, positionInContainer, contentType.role, contentTypeIndex)}}" stepKey="dontSeeContentTypeInContainer"/>
5959
</actionGroup>
60+
<actionGroup name="goToMediaStorageFromStage">
61+
<arguments>
62+
<argument name="contentType"/>
63+
<argument name="section"/>
64+
<argument name="offsetXCoordinate" defaultValue="null" type="string"/>
65+
<argument name="offsetYCoordinate" defaultValue="null" type="string"/>
66+
</arguments>
67+
<comment userInput="Hover over content type in stage and click Select From Gallery button" stepKey="commentHover"/>
68+
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStage(contentType.role)}}" x="{{offsetXCoordinate}}" y="{{offsetYCoordinate}}" stepKey="onMouseOverImageContentTypeStage"/>
69+
<waitForElementVisible selector="{{section.selectFromGalleryImageBtn}}" stepKey="seeSelectFromGalleryBtn2" />
70+
<click selector="{{section.selectFromGalleryImageBtn}}" stepKey="seeSelectFromGalleryBtn1" />
71+
<waitForPageLoad stepKey="waitForPageLoad"/>
72+
</actionGroup>
6073
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderStageSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<element name="computedWidthOnStage" type="text" selector="return parseInt(window.getComputedStyle(document.querySelector('.pagebuilder-{{arg1}}:nth-of-type({{arg2}})')).width)" parameterized="true"/>
3434
<element name="uploadLocalImageBtn" type="button" selector="//div[contains(@class,'pagebuilder-image-uploader-container')]//input[@name='background_image']"/>
3535
<element name="uploadNewImageBtn" type="button" selector="//label[text()='Upload Image']" />
36-
<element name="selectFromGalleryImageBtn" type="button" selector="//ul[contains(@class,'pagebuilder-options-links')]//label[text()='Select from Gallery']"/>
36+
<element name="selectFromGalleryImageBtn" type="button" selector="//ul[contains(@class,'pagebuilder-options-links')]//label[text()='Select from Gallery']" parameterized="true"/>
3737
</section>
3838
<section name="PageBuilderPanel">
3939
<element name="searchField" type="input" selector='//*[@id="pagebuilder-panel"]/div[1]/a'/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerCommonTest.xml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1895,4 +1895,83 @@
18951895
<switchToNextTab stepKey="switchToNextTab"/>
18961896
<seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlProperty.value}}" stepKey="seeCurrentUrlEquals"/>
18971897
</test>
1898+
<test name="BannerContentBlockDeleteImage">
1899+
<annotations>
1900+
<features value="PageBuilder"/>
1901+
<stories value="Banner"/>
1902+
<title value="Image from Banner Content Block get wiped out after delete image from Media Storage"/>
1903+
<description value="Image from Banner Content Block get wiped out after delete image from Media Storage"/>
1904+
<severity value="MAJOR"/>
1905+
<useCaseId value="MC-2294"/>
1906+
<testCaseId value="MC-3494"/>
1907+
<group value="pagebuilder"/>
1908+
<group value="pagebuilder-image"/>
1909+
<group value="pagebuilder-banner"/>
1910+
<group value="pagebuilder-bannerCommon"/>
1911+
<skip>
1912+
<issueId value="MC-3348"/>
1913+
</skip>
1914+
</annotations>
1915+
<before>
1916+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
1917+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
1918+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
1919+
</before>
1920+
<after>
1921+
<actionGroup ref="logout" stepKey="logout"/>
1922+
</after>
1923+
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
1924+
<argument name="contentType" value="PageBuilderBannerContentType"/>
1925+
</actionGroup>
1926+
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
1927+
<argument name="group" value="PageBuilderBannerContentType"/>
1928+
</actionGroup>
1929+
<actionGroup ref="dragContentTypeToStage" stepKey="dragBannerIntoStage">
1930+
<argument name="contentType" value="PageBuilderBannerContentType"/>
1931+
</actionGroup>
1932+
<!-- Attach image A to PageBuilder stage -->
1933+
<comment userInput="Attach image A to PageBuilder stage" stepKey="commentAttachImage"/>
1934+
<actionGroup ref="uploadImageToContentTypeFromStage" stepKey="addImageToStage">
1935+
<argument name="property" value="PageBuilderBackgroundImage_JPG"/>
1936+
</actionGroup>
1937+
<!-- Go to Media Storage from stage -->
1938+
<comment userInput="Go to Media Storage from stage" stepKey="commentGoToMediaStorageFromStage1"/>
1939+
<actionGroup ref="goToMediaStorageFromStage" stepKey="goToMediaStorageFromStage1" >
1940+
<argument name="contentType" value="PageBuilderBannerContentType"/>
1941+
<argument name="section" value="ImageOnStage"/>
1942+
</actionGroup>
1943+
<!-- Delete image A -->
1944+
<comment stepKey="deleteImageA" userInput="Delete image A"/>
1945+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage1">
1946+
<argument name="Image" value="PageBuilderBackgroundImage_JPG"/>
1947+
</actionGroup>
1948+
<click selector="{{MediaGallerySection.CancelBtn}}" stepKey="closeSlideOut1"/>
1949+
<comment userInput="Assert not to see deleted image on stage" stepKey="assertNotToSeeImage1"/>
1950+
<seeElement selector="{{BannerOnBackend.emptyBanner(PageBuilderBannerMessageDefaultProperty.placeholder)}}" stepKey="seeBannerPlaceholder1"/>
1951+
<dontSeeElementInDOM selector="{{ImageOnConfigurationPanel.imageSource(PageBuilderBackgroundImage_JPG.fileName)}}" stepKey="dontSeeImageInDOM1"/>
1952+
<!-- Attach image C to Image slideout form -->
1953+
<comment userInput="Attach image C to Image slideout form" stepKey="attachImageToSlideOut"/>
1954+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage">
1955+
<argument name="contentType" value="PageBuilderBannerContentType"/>
1956+
</actionGroup>
1957+
<actionGroup ref="attachFileSlideOutProperty" stepKey="attachImageFile1">
1958+
<argument name="property" value="PageBuilderBackgroundImage_JPG"/>
1959+
</actionGroup>
1960+
<actionGroup ref="seeImageUploadedOnSlideOut" stepKey="seeImageOnSlideOut1">
1961+
<argument name="property" value="PageBuilderBackgroundImage_JPG"/>
1962+
</actionGroup>
1963+
<!-- Delete image C -->
1964+
<comment stepKey="deleteImageC" userInput="Delete image C"/>
1965+
<actionGroup ref="clickSelectFromGallerySlideOut" stepKey="clickSelectFromGallerySlideOut">
1966+
<argument name="property" value="PageBuilderBackgroundImage_JPG"/>
1967+
</actionGroup>
1968+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage3">
1969+
<argument name="Image" value="PageBuilderBackgroundImage_JPG"/>
1970+
</actionGroup>
1971+
<!--<conditionalClick selector=".modals-overlay" dependentSelector=".modals-overlay" stepKey="clickOverlay" visible="true"/>-->
1972+
<dontSeeElementInDOM selector="{{EditPanelForm.editFormUploadedImageSource(PageBuilderBackgroundImage_JPG.section, PageBuilderBackgroundImage_JPG.fieldName, PageBuilderBackgroundImage_JPG.fileName, PageBuilderBackgroundImage_JPG.extension)}}" stepKey="dontSeeImage"/>
1973+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings"/>
1974+
<seeElement selector="{{BannerOnBackend.emptyBanner(PageBuilderBannerMessageDefaultProperty.placeholder)}}" stepKey="seeBannerPlaceholder2"/>
1975+
<dontSeeElementInDOM selector="{{ImageOnConfigurationPanel.imageSource(PageBuilderBackgroundImage_JPG.fileName)}}" stepKey="dontSeeImageInDOM2"/>
1976+
</test>
18981977
</tests>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest.xml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,112 @@
88

99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="ImageContentBlockDeleteImage">
12+
<annotations>
13+
<features value="PageBuilder"/>
14+
<stories value="Image"/>
15+
<title value="Image from Image Content Block get wiped out after delete image from Media Storage"/>
16+
<description value="Image from Image Content Block get wiped out after delete image from Media Storage"/>
17+
<severity value="CRITICAL"/>
18+
<useCaseId value="MC-2294"/>
19+
<testCaseId value="MC-3494"/>
20+
<group value="pagebuilder"/>
21+
<group value="pagebuilder-image"/>
22+
<skip>
23+
<issueId value="MC-3348"/>
24+
</skip>
25+
</annotations>
26+
<before>
27+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
28+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
29+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
30+
</before>
31+
<after>
32+
<actionGroup ref="logout" stepKey="logout"/>
33+
</after>
34+
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
35+
<argument name="contentType" value="PageBuilderImageContentType"/>
36+
</actionGroup>
37+
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
38+
<argument name="group" value="PageBuilderImageContentType"/>
39+
</actionGroup>
40+
<actionGroup ref="dragContentTypeToStage" stepKey="dragImageIntoStage">
41+
<argument name="contentType" value="PageBuilderImageContentType"/>
42+
</actionGroup>
43+
<!-- Attach image A to PageBuilder stage -->
44+
<comment userInput="Attach image A to PageBuilder stage" stepKey="attachImageToStage"/>
45+
<actionGroup ref="addImageToStage" stepKey="addImageToStage">
46+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
47+
</actionGroup>
48+
<!-- Go to Media Storage from stage-->
49+
<comment userInput="Go to Media Storage from stage" stepKey="commentGoToMediaStorageFromStage"/>
50+
<actionGroup ref="goToMediaStorageFromStage" stepKey="goToMediaStorageFromStage1" >
51+
<argument name="contentType" value="PageBuilderImageContentType"/>
52+
<argument name="section" value="ImageOnStage"/>
53+
</actionGroup>
54+
<!--Delete image A-->
55+
<comment stepKey="deleteImageA" userInput="Delete image A"/>
56+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage1">
57+
<argument name="Image" value="PageBuilderImageProperty_StageJPG"/>
58+
</actionGroup>
59+
<click selector="{{MediaGallerySection.CancelBtn}}" stepKey="closeSlideOut1"/>
60+
<!-- Assert don't see deleted image on stage -->
61+
<comment userInput="Assert don't see deleted image on stage" stepKey="assertNotToSeeImage"/>
62+
<seeElementInDOM selector="{{ImageOnStage.imageEmptyPreview}}" stepKey="dontSeeImageOnStage1"/>
63+
<dontSeeElementInDOM selector="{{ImageOnStage.imageSourceOnStage(PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="dontSeeImageInDOM1"/>
64+
<!-- Attach image C to Image slideout form -->
65+
<comment userInput="Attach image C to Image slideout form" stepKey="attachImageToSlideOut"/>
66+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage1">
67+
<argument name="contentType" value="PageBuilderImageContentType"/>
68+
</actionGroup>
69+
<actionGroup ref="attachFileSlideOutProperty" stepKey="attachImageFile1">
70+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
71+
</actionGroup>
72+
<actionGroup ref="verifyImageOnSlideout" stepKey="verifyImageOnSlideout1">
73+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
74+
</actionGroup>
75+
<!-- Delete image C-->
76+
<comment stepKey="deleteImageC" userInput="Delete image C"/>
77+
<actionGroup ref="clickSelectFromGallerySlideOut" stepKey="clickSelectFromGallerySlideOut">
78+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
79+
</actionGroup>
80+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage3">
81+
<argument name="Image" value="PageBuilderImageProperty_StageJPG"/>
82+
</actionGroup>
83+
<click selector="{{MediaGallerySection.CancelBtn}}" stepKey="closeSlideOut3"/>
84+
<dontSeeElementInDOM selector="{{ImageOnConfigurationPanel.imageSource(PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="dontSeeMainImageSource"/>
85+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings"/>
86+
<seeElementInDOM selector="{{ImageOnStage.imageEmptyPreview}}" stepKey="dontSeeImageOnStage2"/>
87+
<!-- Attach image B to Image slideout form from Media Storage -->
88+
<comment userInput="Attach image B to Image slideout form from Media Storage" stepKey="attachImageBToSlideout"/>
89+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2">
90+
<argument name="contentType" value="PageBuilderImageContentType"/>
91+
</actionGroup>
92+
<click selector="{{PageBuilderStage.selectFromGalleryImageBtn}}" stepKey="clickSelectfromGallery"/>
93+
<waitForPageLoad stepKey="waitForPageLoad"/>
94+
<actionGroup ref="CreateImageFolder" stepKey="createImageFolder">
95+
<argument name="ImageFolder" value="ImageFolder"/>
96+
</actionGroup>
97+
<actionGroup ref="attachImage" stepKey="SelectImageFromMediaStorage">
98+
<argument name="Image" value="PageBuilderImageProperty_JPG2"/>
99+
</actionGroup>
100+
<actionGroup ref="saveImage" stepKey="saveImage"/>
101+
<actionGroup ref="verifyImageOnSlideout" stepKey="verifyImageOnSlideout2">
102+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
103+
</actionGroup>
104+
<!-- Delete image B -->
105+
<comment stepKey="deleteImageB" userInput="Delete image B"/>
106+
<actionGroup ref="clickSelectFromGallerySlideOut" stepKey="clickSelectFromGallerySlideOut2">
107+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
108+
</actionGroup>
109+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage4">
110+
<argument name="Image" value="PageBuilderImageProperty_StageJPG"/>
111+
</actionGroup>
112+
<dontSeeElementInDOM selector="{{ImageOnConfigurationPanel.imageSource(PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="dontSeeMainImageSource2"/>
113+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings2"/>
114+
<seeElementInDOM selector="{{ImageOnStage.imageEmptyPreview}}" stepKey="dontSeeImageOnStage3"/>
115+
<dontSeeElementInDOM selector="{{ImageOnStage.imageSourceOnStage(PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="dontSeeImageInDOM2"/>
116+
</test>
11117
<test name="ImageAddImageIntoPageBuilderStage">
12118
<annotations>
13119
<features value="PageBuilder"/>

0 commit comments

Comments
 (0)