Skip to content

Commit e1e8bda

Browse files
committed
Merge branch '623-convert-CmsPageMassActionTest-to-mftf' of https://github.com/vovsky/magento-functional-tests-migration into community-tests-migration-pr
2 parents 822003d + 48f416c commit e1e8bda

10 files changed

+181
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminCMSPageMassActionDisableActionGroup">
11+
<click selector="{{CmsPagesPageActionsSection.massActionsButton}}" stepKey="clickMassActionDropdown"/>
12+
<click selector="{{CmsPagesPageActionsSection.massActionsOption('Disable')}}" stepKey="clickDisableAction"/>
13+
<waitForPageLoad stepKey="waitForPageToReload"/>
14+
</actionGroup>
15+
</actionGroups>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminOpenCMSPagesGridActionGroup">
11+
<amOnPage url="{{CmsPagesPage.url}}" stepKey="navigateToCMSPagesGrid"/>
12+
<waitForPageLoad stepKey="waitForPageLoad"/>
13+
</actionGroup>
14+
</actionGroups>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminSelectCMSPageFromGridActionGroup">
11+
<arguments>
12+
<argument name="identifier" defaultValue=""/>
13+
</arguments>
14+
<click selector="{{CmsPagesPageActionsSection.select(identifier)}}" stepKey="clickSelectCMSPage" />
15+
</actionGroup>
16+
</actionGroups>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminSelectCMSPageInGridActionGroup">
11+
<arguments>
12+
<argument name="identifier" type="string"/>
13+
</arguments>
14+
<checkOption selector="{{CmsPagesPageActionsSection.pageRowCheckboxByIdentifier(identifier)}}" stepKey="selectCmsPageInGrid"/>
15+
</actionGroup>
16+
</actionGroups>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AssertCMSPageInGrid">
11+
<arguments>
12+
<argument name="identifier" defaultValue=""/>
13+
</arguments>
14+
<amOnPage url="{{CmsPagesPage.url}}" stepKey="navigateToCMSPagesGrid"/>
15+
<waitForPageLoad stepKey="waitForPageLoad1"/>
16+
<conditionalClick selector="{{CmsPagesPageActionsSection.clearAllButton}}" dependentSelector="{{CmsPagesPageActionsSection.activeFilters}}" stepKey="clickToResetFilter" visible="true"/>
17+
<waitForPageLoad stepKey="waitForPageLoad2"/>
18+
<conditionalClick selector="//div[contains(@data-role, 'grid-wrapper')]/table/thead/tr/th/span[contains(text(), 'ID')]" dependentSelector="//span[contains(text(), 'ID')]/parent::th[not(contains(@class, '_descend'))]/parent::tr/parent::thead/parent::table/parent::div[contains(@data-role, 'grid-wrapper')]" stepKey="clickToAttemptSortByIdDescending" visible="true"/>
19+
<waitForLoadingMaskToDisappear stepKey="waitForFirstIdSortDescendingToFinish" />
20+
<!-- Conditional Click again in case it goes from default state to ascending on first click -->
21+
<conditionalClick selector="//div[contains(@data-role, 'grid-wrapper')]/table/thead/tr/th/span[contains(text(), 'ID')]" dependentSelector="//span[contains(text(), 'ID')]/parent::th[not(contains(@class, '_descend'))]/parent::tr/parent::thead/parent::table/parent::div[contains(@data-role, 'grid-wrapper')]" stepKey="secondClickToAttemptSortByIdDescending" visible="true"/>
22+
<waitForLoadingMaskToDisappear stepKey="waitForSecondIdSortDescendingToFinish" />
23+
<click selector="{{CmsPagesPageActionsSection.select(identifier)}}" stepKey="clickSelectCMSPage" />
24+
</actionGroup>
25+
</actionGroups>
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AssertCMSPageNotFoundOnStorefrontActionGroup">
11+
<see userInput="Whoops, our bad..." stepKey="seePageErrorNotFound"/>
12+
</actionGroup>
13+
</actionGroups>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="StorefrontGoToCMSPageActionGroup">
11+
<arguments>
12+
<argument name="identifier" type="string"/>
13+
</arguments>
14+
<amOnPage url="{{StorefrontHomePage.url}}/{{identifier}}" stepKey="amOnCmsPageOnStorefront"/>
15+
<waitForPageLoad stepKey="waitForPageLoadOnStorefront"/>
16+
</actionGroup>
17+
</actionGroups>

app/code/Magento/Cms/Test/Mftf/Section/CmsPagesPageActionsSection.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,8 @@
2727
<element name="savePageSuccessMessage" type="text" selector=".message-success"/>
2828
<element name="delete" type="button" selector="//div[text()='{{var1}}']/parent::td//following-sibling::td[@class='data-grid-actions-cell']//a[text()='Delete']" parameterized="true"/>
2929
<element name="deleteConfirm" type="button" selector=".action-primary.action-accept" timeout="60"/>
30+
<element name="pageRowCheckboxByIdentifier" type="block" selector="//div[@data-bind=&quot;scope: 'cms_page_listing.cms_page_listing'&quot;]//td[count(../../..//th[./*[.='URL Key']]/preceding-sibling::th) + 1][./*[.='{{identifier}}']]/../td//input[@data-action='select-row']" parameterized="true" />
31+
<element name="massActionsButton" type="button" selector="div.admin__data-grid-header-row.row div.action-select-wrap button.action-select"/>
32+
<element name="massActionsOption" type="button" selector="//div[contains(@class,'admin__data-grid-header-row') and contains(@class, 'row')]//div[contains(@class, 'action-select-wrap')]//ul/li/span[text() = '{{label}}']" parameterized="true"/>
3033
</section>
3134
</sections>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminCmsPageMassActionTest">
11+
<annotations>
12+
<features value="Cms"/>
13+
<title value="Create two CMS Pages and perform mass disable action"/>
14+
<description value="Admin should be able to perform mass actions to CMS pages"/>
15+
<group value="backend"/>
16+
<group value="cMSContent"/>
17+
<group value="mtf_migrated"/>
18+
</annotations>
19+
<before>
20+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
21+
<createData entity="_defaultCmsPage" stepKey="firstCMSPage" />
22+
<createData entity="_duplicatedCMSPage" stepKey="secondCMSPage" />
23+
</before>
24+
<after>
25+
<deleteData createDataKey="firstCMSPage" stepKey="deleteFirstCMSPage" />
26+
<deleteData createDataKey="secondCMSPage" stepKey="deleteSecondCMSPage" />
27+
<actionGroup ref="logout" stepKey="logout"/>
28+
</after>
29+
<!--Go to Grid page-->
30+
<actionGroup ref="AdminOpenCMSPagesGridActionGroup" stepKey="navigateToCMSPageGrid"/>
31+
<!--Select pages in Grid-->
32+
<actionGroup ref="AdminSelectCMSPageInGridActionGroup" stepKey="selectFirstCMSPage">
33+
<argument name="identifier" value="$$firstCMSPage.identifier$$"/>
34+
</actionGroup>
35+
<actionGroup ref="AdminSelectCMSPageInGridActionGroup" stepKey="selectSecondCMSPage">
36+
<argument name="identifier" value="$$secondCMSPage.identifier$$"/>
37+
</actionGroup>
38+
<!-- Disable Pages-->
39+
<actionGroup ref="AdminCMSPageMassActionDisableActionGroup" stepKey="disablePages"/>
40+
<!--Verify pages in Grid-->
41+
<actionGroup ref="AdminOpenCMSPagesGridActionGroup" stepKey="openCMSPagesGridActionGroup"/>
42+
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearGridFilters"/>
43+
<actionGroup ref="SortByIdDescendingActionGroup" stepKey="sortGridByIdDescending"/>
44+
<actionGroup ref="AdminSelectCMSPageFromGridActionGroup" stepKey="verifyFirstPageInGrid">
45+
<argument name="identifier" value="$$firstCMSPage.identifier$$"/>
46+
</actionGroup>
47+
<actionGroup ref="AdminSelectCMSPageFromGridActionGroup" stepKey="verifySecondPageInGrid">
48+
<argument name="identifier" value="$$secondCMSPage.identifier$$"/>
49+
</actionGroup>
50+
<!--Verify first page is disabled on Frontend-->
51+
<actionGroup ref="StorefrontGoToCMSPageActionGroup" stepKey="goToFirstCMSPageOnStorefront">
52+
<argument name="identifier" value="$$firstCMSPage.identifier$$"/>
53+
</actionGroup>
54+
<actionGroup ref="AssertCMSPageNotFoundOnStorefrontActionGroup" stepKey="seeNotFoundErrorForFirstPage"/>
55+
<!--Verify second page is disabled on Frontend-->
56+
<actionGroup ref="StorefrontGoToCMSPageActionGroup" stepKey="goToSecondCMSPageOnStorefront">
57+
<argument name="identifier" value="$$secondCMSPage.identifier$$"/>
58+
</actionGroup>
59+
<actionGroup ref="AssertCMSPageNotFoundOnStorefrontActionGroup" stepKey="seeNotFoundErrorForSecondPage"/>
60+
</test>
61+
</tests>

dev/tests/functional/tests/app/Magento/Cms/Test/TestCase/CmsPageMassActionTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<data name="cmsPages/1" xsi:type="string">3_column_template</data>
1313
<data name="action" xsi:type="string">Disable</data>
1414
<data name="expectedStatus" xsi:type="string">Disabled</data>
15+
<data name="tag" xsi:type="string">mftf_migrated:yes</data>
1516
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPagesInGrid" />
1617
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPagesDisabledOnFrontend" />
1718
</variation>

0 commit comments

Comments
 (0)