Skip to content

Commit 081c694

Browse files
committed
MC-1138: Moving Buttons Can Break Functionality
- Adding test to delete button after moving - Fixing supporting delete modal selectors
1 parent 90020d2 commit 081c694

File tree

2 files changed

+118
-5
lines changed

2 files changed

+118
-5
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
<element name="stageWrapper" type="button" selector="//div[@class='pagebuilder-stage-wrapper']"/>
1717
<element name="stageWrapperFullScreen" type="button" selector="div.pagebuilder-stage-wrapper.stage-full-screen"/>
1818
<element name="stageWidthJS" type="button" selector="document.querySelector('div[class~=\'stage-container\']').clientWidth"/>
19-
<element name="modal" type="text" selector='body._has-modal div.modals-wrapper aside.modal-popup.prompt._show'/>
20-
<element name="modalOk" type="button" selector=".modal-popup button.action-primary.action-accept"/>
21-
<element name="modalCancel" type="button" selector="//aside[contains(@class,'modal-popup')]//button[contains(@class,'action-dismiss')]//span[.='Cancel']"/>
22-
<element name="modalX" type="button" selector=".modal-popup button.action-close"/>
19+
<element name="modal" type="text" selector='aside.modal-popup.prompt._show'/>
20+
<element name="modalOk" type="button" selector="aside.modal-popup.prompt._show button.action-primary.action-accept"/>
21+
<element name="modalCancel" type="button" selector="aside.modal-popup.prompt._show button.action-secondary.action-dismiss"/>
22+
<element name="modalX" type="button" selector="aside.modal-popup.prompt._show button.action-close"/>
2323
<!-- It's safer to click the label, as Selenium will complain if it's not clicking the exact element -->
24-
<element name="modalDoNotShowThisAgain" type="input" selector=".modal-popup input[name='modal-dnsa'] + label"/>
24+
<element name="modalDoNotShowThisAgain" type="input" selector="aside.modal-popup.prompt._show input[name='modal-dnsa'] + label"/>
2525
<element name="errorModal" type="button" selector="//div[@class='modal-content']//div[contains(text(), '{{arg1}}')]" parameterized="true"/>
2626
<element name="dropAreaInStage" type="button" selector='(//div[contains(@class, "type-container") and contains(@class, "pagebuilder-row")])[1]//div[contains(@class,"pagebuilder-empty-container")][1]'/>
2727
<element name="dropZone" type="button" selector='(//div[contains(@class, "{{arg1}}-container")])[{{arg2}}]//div[contains(@class,"pagebuilder-drop-indicator")][{{arg3}}]' parameterized="true"/>

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

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,119 @@
521521
<seeElement selector="{{ButtonItemOnStorefront.buttonItemText('1', PageBuilderButtonItemText_Second.value)}}" stepKey="seeButton1Storefront"/>
522522
<seeElement selector="{{ButtonItemOnStorefront.buttonItemText('2', PageBuilderButtonItemText_200Characters.value)}}" stepKey="seeButton2Storefront"/>
523523
</test>
524+
<test name="ButtonItemCanDeleteButtonAfterMovingButton">
525+
<annotations>
526+
<features value="PageBuilder"/>
527+
<stories value="Buttons"/>
528+
<title value="Move Button - Can Delete Button After Moving Button"/>
529+
<description value="A user should be able to delete a button item after moving the button."/>
530+
<severity value="CRITICAL"/>
531+
<useCaseId value="MC-1138"/>
532+
<testCaseId value="MC-3692"/>
533+
<group value="pagebuilder"/>
534+
<group value="pagebuilder-buttons"/>
535+
<group value="pagebuilder-moveButtons"/>
536+
</annotations>
537+
<before>
538+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
539+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
540+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
541+
</before>
542+
<after>
543+
<actionGroup ref="logout" stepKey="logout"/>
544+
</after>
545+
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
546+
<argument name="contentType" value="PageBuilderButtonsContentType"/>
547+
</actionGroup>
548+
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
549+
<argument name="group" value="PageBuilderButtonsContentType"/>
550+
</actionGroup>
551+
<actionGroup ref="dragContentTypeToStage" stepKey="dragButtonsOntoStage1">
552+
<argument name="contentType" value="PageBuilderButtonsContentType"/>
553+
</actionGroup>
554+
<actionGroup ref="addButton" stepKey="addButton"/>
555+
<actionGroup ref="addButton" stepKey="addButton2"/>
556+
<!-- Edit 1st button -->
557+
<comment userInput="Edit 1st Button" stepKey="commentEditButton1"/>
558+
<actionGroup ref="inlineEditButton" stepKey="inlineEditButton1">
559+
<argument name="text" value="PageBuilderButtonItemText_First"/>
560+
<argument name="index" value="1"/>
561+
</actionGroup>
562+
<!-- Edit 2nd Button -->
563+
<comment userInput="Edit 2nd Button" stepKey="commentEditButton2"/>
564+
<actionGroup ref="inlineEditButton" stepKey="inlineEditButton2">
565+
<argument name="text" value="PageBuilderButtonItemText_Second"/>
566+
<argument name="index" value="2"/>
567+
</actionGroup>
568+
<!-- Edit 3rd Button -->
569+
<comment userInput="Edit 3rd Button" stepKey="commentEditButton3"/>
570+
<actionGroup ref="inlineEditButton" stepKey="inlineEditButton3">
571+
<argument name="text" value="PageBuilderButtonItemText_Third"/>
572+
<argument name="index" value="3"/>
573+
</actionGroup>
574+
<!-- Stage: Validate Initial Buttons -->
575+
<comment userInput="Stage: Validate Initial Buttons" stepKey="commentValidateStage1"/>
576+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('1', PageBuilderButtonItemText_First.value)}}" stepKey="seeButton1Stage1"/>
577+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('2', PageBuilderButtonItemText_Second.value)}}" stepKey="seeButton2Stage1"/>
578+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('3', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton3Stage1"/>
579+
<seeNumberOfElements selector="{{ButtonItemOnStage.all}}" userInput="3" stepKey="seeTotalButtonsStage1"/>
580+
<!-- Move Button -->
581+
<comment userInput="Move Button" stepKey="commentMoveButton"/>
582+
<actionGroup ref="moveButton" stepKey="moveButton">
583+
<argument name="buttonIndexToMove" value="1"/>
584+
<argument name="buttonIndexToMoveTo" value="3"/>
585+
</actionGroup>
586+
<!-- Delete Button After Move -->
587+
<comment userInput="Delete Button After Move" stepKey="commentDeleteButton1"/>
588+
<actionGroup ref="removeContentTypeFromStageSmallByIndex" stepKey="removeButtonFromStage">
589+
<argument name="section" value="ButtonItemOnStage"/>
590+
<argument name="targetIndex" value="2"/>
591+
</actionGroup>
592+
<actionGroup ref="confirmRemovalModal" stepKey="confirmRemovalModal1"/>
593+
<!-- Stage: Validate After Delete -->
594+
<comment userInput="Stage: Validate After Delete" stepKey="commentValidateStage2"/>
595+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('1', PageBuilderButtonItemText_Second.value)}}" stepKey="seeButton1Stage2"/>
596+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('2', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton2Stage2"/>
597+
<seeNumberOfElements selector="{{ButtonItemOnStage.all}}" userInput="2" stepKey="seeTotalButtonsStage2"/>
598+
<!-- Attempt To Move Button To Row -->
599+
<comment userInput="Attempt To Move Button To Row" stepKey="commentMoveButton1"/>
600+
<actionGroup ref="dragContentTypeToDropZone" stepKey="dragContentTypeToStage2">
601+
<argument name="contentType" value="PageBuilderRowContentType"/>
602+
<argument name="containerTargetType" value="PageBuilderStage"/>
603+
<argument name="containerTargetIndex" value="1"/>
604+
<argument name="contentTypeIndex" value="2"/>
605+
<argument name="dropZoneIndex" value="2"/>
606+
</actionGroup>
607+
<click selector="{{ButtonItemOnStage.base('1')}}" stepKey="clickButton1"/>
608+
<waitForPageLoad stepKey="waitForPageLoad1"/>
609+
<dragAndDrop selector1="{{ButtonItemOnStage.moveHandle('1')}}" selector2="{{PageBuilderStage.contentTypeContainer(PageBuilderRowContentType.role, '2')}}" stepKey="dragAndDropButtonToRow"/>
610+
<waitForPageLoad stepKey="waitForPageLoad2"/>
611+
<!-- Delete Button After Attempted Move To Row -->
612+
<comment userInput="Delete Button After Attempted Move To Row" stepKey="commentDeleteButton2"/>
613+
<actionGroup ref="removeContentTypeFromStageSmallByIndex" stepKey="removeButtonFromStage2">
614+
<argument name="section" value="ButtonItemOnStage"/>
615+
<argument name="targetIndex" value="1"/>
616+
</actionGroup>
617+
<actionGroup ref="confirmRemovalModal" stepKey="confirmRemovalModal2"/>
618+
<!-- Stage: Validate After Delete 2 -->
619+
<comment userInput="Stage: Validate After Delete 2" stepKey="commentValidateStage3"/>
620+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('1', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton1Stage3"/>
621+
<seeNumberOfElements selector="{{ButtonItemOnStage.all}}" userInput="1" stepKey="seeTotalButtonsStage3"/>
622+
<!-- Save Page -->
623+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
624+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
625+
<!-- Stage: Validate After Save -->
626+
<comment userInput="Stage: Validate After Save" stepKey="commentValidateStage4"/>
627+
<seeElement selector="{{ButtonItemOnStage.buttonItemText('1', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton1Stage4"/>
628+
<seeNumberOfElements selector="{{ButtonItemOnStage.all}}" userInput="1" stepKey="seeTotalButtonsStage4"/>
629+
<!-- Storefront: Validate Buttons -->
630+
<comment userInput="Storefront: Validate Buttons" stepKey="commentValidateStorefront"/>
631+
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
632+
<argument name="contentType" value="PageBuilderButtonsContentType"/>
633+
</actionGroup>
634+
<seeElement selector="{{ButtonItemOnStorefront.buttonItemText('1', PageBuilderButtonItemText_Third.value)}}" stepKey="seeButton1Storefront"/>
635+
<seeNumberOfElements selector="{{ButtonItemOnStorefront.all}}" userInput="1" stepKey="seeTotalButtonsStorefront"/>
636+
</test>
524637
<test name="ButtonItemCannotMoveButtonOutsideButtonGroup">
525638
<annotations>
526639
<features value="PageBuilder"/>

0 commit comments

Comments
 (0)