Skip to content

Commit 7473f5f

Browse files
committed
#425: Infinite Loop Disabled on Slider Does Not Work Correctly
- Extending Slider Common Tests (MFTF)
1 parent d40e5ef commit 7473f5f

File tree

3 files changed

+155
-0
lines changed

3 files changed

+155
-0
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderSliderSection/SliderOnFrontendSection.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414
<element name="notHidden" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}][not(contains(@style,'display: none'))]" parameterized="true"/>
1515
<element name="slideNavigationDot" type="button" selector="((//div[@data-content-type='slider'])[{{sliderIndex}}]//ul[@class='slick-dots']//button)[{{navigationDotIndex}}]" parameterized="true"/>
1616
<element name="previousSlideArrow" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-prev')]" parameterized="true"/>
17+
<element name="previousSlideArrowDisabled" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-prev') and contains(@class,'slick-disabled')]" parameterized="true"/>
18+
<element name="previousSlideArrowEnabled" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-prev') and not(contains(@class,'slick-disabled'))]" parameterized="true"/>
1719
<element name="nextSlideArrow" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-next')]" parameterized="true"/>
20+
<element name="nextSlideArrowDisabled" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-next') and contains(@class,'slick-disabled')]" parameterized="true"/>
21+
<element name="nextSlideArrowEnabled" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-next') and not(contains(@class,'slick-disabled'))]" parameterized="true"/>
1822
<!-- Settings Configuration -->
1923
<element name="autoPlay" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}][@data-autoplay='{{autoplay}}']" parameterized="true"/>
2024
<element name="autoPlaySpeed" type="button" selector="(//div[@data-content-type='slider'])[{{sliderIndex}}][@data-autoplay-speed='{{autoplaySpeed}}']" parameterized="true"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
9+
<test name="SliderValidateInfiniteLoopDisabled" extends="SliderValidateInfiniteLoopEnabled">
10+
<annotations>
11+
<features value="PageBuilder"/>
12+
<stories value="SliderValidateInfiniteLoopDisabled"/>
13+
<title value="SliderValidateInfiniteLoopDisabled"/>
14+
<description value=""/>
15+
<severity value="BLOCKER"/>
16+
<useCaseId value=""/>
17+
<testCaseId value=""/>
18+
<group value="pagebuilder"/>
19+
<group value="pagebuilder-slide"/>
20+
<group value="pagebuilder-sliderCommon"/>
21+
</annotations>
22+
<!-- Open Slider Settings -->
23+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterInfiniteLoop">
24+
<argument name="property" value="PageBuilderSliderInfiniteLoop_Disabled"/>
25+
</actionGroup>
26+
<!-- Validate Stage: Slider Settings -->
27+
<seeElement selector="{{SliderOnStage.infiniteLoop('1', PageBuilderSliderInfiniteLoop_Disabled.value)}}" stepKey="seeInfiniteLoopStage"/>
28+
<!-- Validate Storefront: Slider Settings -->
29+
<seeElement selector="{{SliderOnFrontend.infiniteLoop('1', PageBuilderSliderInfiniteLoop_Disabled.value)}}" stepKey="seeInfiniteLoopStorefront"/>
30+
<!-- Validate Storefront: Slide 1 -->
31+
<seeElement selector="{{SliderOnFrontend.previousSlideArrowDisabled('1')}}" stepKey="seePreviousSlideArrow"/>
32+
<!-- Validate Storefront: Slide 2 -->
33+
<seeElement selector="{{SliderOnFrontend.nextSlideArrowDisabled('1')}}" stepKey="seeNextSlideArrow2"/>
34+
</test>
35+
</tests>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
9+
<test name="SliderValidateInfiniteLoopEnabled">
10+
<annotations>
11+
<features value="PageBuilder"/>
12+
<stories value="SliderValidateInfiniteLoopEnabled"/>
13+
<title value="SliderValidateInfiniteLoopEnabled"/>
14+
<description value=""/>
15+
<severity value="BLOCKER"/>
16+
<useCaseId value=""/>
17+
<testCaseId value=""/>
18+
<group value="pagebuilder"/>
19+
<group value="pagebuilder-slide"/>
20+
<group value="pagebuilder-sliderCommon"/>
21+
</annotations>
22+
<before>
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
25+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
26+
</before>
27+
<after>
28+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
29+
</after>
30+
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
31+
<argument name="contentType" value="PageBuilderSliderContentType"/>
32+
</actionGroup>
33+
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection">
34+
<argument name="contentType" value="PageBuilderSliderContentType"/>
35+
</actionGroup>
36+
<actionGroup ref="dragContentTypeToStage" stepKey="dragSliderOntoStage">
37+
<argument name="contentType" value="PageBuilderSliderContentType"/>
38+
</actionGroup>
39+
<actionGroup ref="openPageBuilderEditPanelSmallByIndex" stepKey="openEditPanelAfterDrop">
40+
<argument name="section" value="SlideOnBackend"/>
41+
</actionGroup>
42+
<!-- Edit First Slide -->
43+
<actionGroup ref="addTextToTinyMCE" stepKey="addTextToTinyMCE">
44+
<argument name="property" value="PageBuilderSlideItemContent_Slide1"/>
45+
<argument name="section" value="SlideOnConfigurationPanel"/>
46+
</actionGroup>
47+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanel1Settings"/>
48+
<!-- Open Slider Settings -->
49+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="unFocusSlide"/>
50+
<actionGroup ref="openPageBuilderEditPanelByIndex" stepKey="openSliderEditPanel">
51+
<argument name="contentType" value="PageBuilderSliderContentType"/>
52+
<argument name="contentTypeIndex" value="1"/>
53+
</actionGroup>
54+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterFade">
55+
<argument name="property" value="PageBuilderSliderFade_Enabled"/>
56+
</actionGroup>
57+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterInfiniteLoop">
58+
<argument name="property" value="PageBuilderSliderInfiniteLoop_Enabled"/>
59+
</actionGroup>
60+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterShowArrow">
61+
<argument name="property" value="PageBuilderSliderShowArrows_Enabled"/>
62+
</actionGroup>
63+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterShowDots">
64+
<argument name="property" value="PageBuilderSliderShowDots_Enabled"/>
65+
</actionGroup>
66+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings1"/>
67+
<!-- Add Second Slide -->
68+
<actionGroup ref="addChildContentTypeFromOptionMenu" stepKey="addChildContentType">
69+
<argument name="contentType" value="PageBuilderSliderContentType"/>
70+
</actionGroup>
71+
<actionGroup ref="openPageBuilderEditPanelSmallByIndex" stepKey="openEditPanelAfterAddSlide">
72+
<argument name="section" value="SlideOnBackend"/>
73+
<argument name="targetIndex" value="2"/>
74+
</actionGroup>
75+
<actionGroup ref="addTextToTinyMCE" stepKey="addTextToTinyMCE2">
76+
<argument name="property" value="PageBuilderSlideItemContent_Slide2"/>
77+
<argument name="section" value="SlideOnConfigurationPanel"/>
78+
</actionGroup>
79+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanel2Settings"/>
80+
<actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/>
81+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
82+
<!-- Validate Stage: Slider Settings -->
83+
<seeElement selector="{{SliderOnStage.autoPlay('1', PageBuilderSliderAutoPlay_Disabled.value)}}" stepKey="seeAutoPlayStage"/>
84+
<seeElement selector="{{SliderOnStage.infiniteLoop('1', PageBuilderSliderInfiniteLoop_Enabled.value)}}" stepKey="seeInfiniteLoopStage"/>
85+
<seeElement selector="{{SliderOnStage.showArrows('1', PageBuilderSliderShowArrows_Enabled.value)}}" stepKey="seeArrowsStage"/>
86+
<seeElement selector="{{SliderOnStage.showDots('1', PageBuilderSliderShowDots_Enabled.value)}}" stepKey="seeDotsStage"/>
87+
<!-- Validate Stage: Slide 1 -->
88+
<click selector="{{SliderOnStage.slideNavigationDot('1', '1')}}" stepKey="clickSlide1Stage"/>
89+
<waitForPageLoad stepKey="waitForPageLoad"/>
90+
<seeElement selector="{{SlideOnBackend.messageContent('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeSlide1ContentStage"/>
91+
<!-- Validate Stage: Slide 2 -->
92+
<click selector="{{SliderOnStage.nextSlideArrow('1')}}" stepKey="clickSlide2Stage"/>
93+
<waitForPageLoad stepKey="waitForPageLoad2"/>
94+
<seeElement selector="{{SlideOnBackend.messageContent('2', PageBuilderSlideItemContent_Slide2.value)}}" stepKey="seeSlide2ContentStage"/>
95+
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
96+
<argument name="contentType" value="PageBuilderSliderContentType"/>
97+
</actionGroup>
98+
<!-- Validate Storefront: Slider Settings -->
99+
<seeElement selector="{{SliderOnFrontend.autoPlay('1', PageBuilderSliderAutoPlay_Disabled.value)}}" stepKey="seeAutoPlayStorefront"/>
100+
<seeElement selector="{{SliderOnFrontend.infiniteLoop('1', PageBuilderSliderInfiniteLoop_Enabled.value)}}" stepKey="seeInfiniteLoopStorefront"/>
101+
<seeElement selector="{{SliderOnFrontend.showArrows('1', PageBuilderSliderShowArrows_Enabled.value)}}" stepKey="seeArrowsStorefront"/>
102+
<seeElement selector="{{SliderOnFrontend.showDots('1', PageBuilderSliderShowDots_Enabled.value)}}" stepKey="seeDotsStorefront"/>
103+
<!-- Validate Storefront: Slide 1 -->
104+
<click selector="{{SliderOnFrontend.slideNavigationDot('1', '1')}}" stepKey="clickSlide1Storefront"/>
105+
<waitForPageLoad stepKey="waitForPageLoad3"/>
106+
<seeElement selector="{{SlideOnFrontend.messageContent('1', PageBuilderSlideItemContent_Slide1.value)}}" stepKey="seeSlide1ContentStorefront"/>
107+
<seeElement selector="{{SliderOnFrontend.previousSlideArrowEnabled('1')}}" stepKey="seePreviousSlideArrow"/>
108+
<seeElement selector="{{SliderOnFrontend.nextSlideArrowEnabled('1')}}" stepKey="seeNextSlideArrow"/>
109+
<!-- Validate Storefront: Slide 2 -->
110+
<click selector="{{SliderOnFrontend.nextSlideArrow('1')}}" stepKey="clickSlide2Storefront"/>
111+
<waitForPageLoad stepKey="waitForPageLoad4"/>
112+
<seeElement selector="{{SlideOnFrontend.messageContent('2', PageBuilderSlideItemContent_Slide2.value)}}" stepKey="seeSlide2ContentStorefront"/>
113+
<seeElement selector="{{SliderOnFrontend.previousSlideArrowEnabled('1')}}" stepKey="seePreviousSlideArrow2"/>
114+
<seeElement selector="{{SliderOnFrontend.nextSlideArrowEnabled('1')}}" stepKey="seeNextSlideArrow2"/>
115+
</test>
116+
</tests>

0 commit comments

Comments
 (0)