Skip to content

Commit 2fe3f1c

Browse files
authored
Merge pull request #84 from magento-pangolin/MC-4428
2 parents 3777ff7 + e318e6f commit 2fe3f1c

11 files changed

+272
-0
lines changed
Lines changed: 30 additions & 0 deletions
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="AdminCreateNewCatalogPriceRuleActionGroup">
12+
<arguments>
13+
<argument name="catalogRule" defaultValue="_defaultCatalogRule"/>
14+
<argument name="customerGroup" type="string"/>
15+
</arguments>
16+
<amOnPage url="{{AdminNewCatalogPriceRulePage.url}}" stepKey="openNewCatalogPriceRulePage"/>
17+
<waitForPageLoad stepKey="waitForPageToLoad"/>
18+
<fillField stepKey="fillName" selector="{{AdminNewCatalogPriceRule.ruleName}}" userInput="{{catalogRule.name}}"/>
19+
<fillField stepKey="fillDescription" selector="{{AdminNewCatalogPriceRule.description}}" userInput="{{catalogRule.description}}"/>
20+
<selectOption selector="{{AdminNewCatalogPriceRule.status}}" userInput="{{catalogRule.is_active}}" stepKey="selectStatus"/>
21+
<selectOption stepKey="selectWebSite" selector="{{AdminNewCatalogPriceRule.websites}}" userInput="{{catalogRule.website_ids[0]}}"/>
22+
<selectOption selector="{{AdminNewCatalogPriceRule.customerGroups}}" userInput="{{customerGroup}}" stepKey="selectCustomerGroup"/>
23+
<scrollTo selector="{{AdminNewCatalogPriceRule.actionsTab}}" stepKey="scrollToActionTab"/>
24+
<click stepKey="openActionDropdown" selector="{{AdminNewCatalogPriceRule.actionsTab}}"/>
25+
<selectOption stepKey="discountType" selector="{{AdminNewCatalogPriceRuleActions.apply}}" userInput="{{catalogRule.simple_action}}"/>
26+
<fillField stepKey="fillDiscountValue" selector="{{AdminNewCatalogPriceRuleActions.discountAmount}}" userInput="{{catalogRule.discount_amount}}"/>
27+
<selectOption stepKey="discardSubsequentRules" selector="{{AdminNewCatalogPriceRuleActions.disregardRules}}" userInput="Yes"/>
28+
<waitForPageLoad stepKey="waitForApplied"/>
29+
</actionGroup>
30+
</actionGroups>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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="AdminDeleteCatalogRuleActionGroup">
12+
<click selector="{{AdminNewCatalogPriceRule.delete}}" stepKey="clickOnDeleteButton"/>
13+
<waitForElementVisible selector="{{AdminNewCatalogPriceRule.okButton}}" stepKey="waitForOkButtonToBeVisible"/>
14+
<click selector="{{AdminNewCatalogPriceRule.okButton}}" stepKey="clickOnOkButton"/>
15+
<waitForPageLoad stepKey="waitForPagetoLoad"/>
16+
<see selector="{{AdminNewCatalogPriceRule.successMessage}}" userInput="You deleted the rule." stepKey="seeSuccessDeleteMessage"/>
17+
</actionGroup>
18+
</actionGroups>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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="AdminSaveAndApplyRulesActionGroup">
12+
<waitForPageLoad stepKey="waitForPageToLoad"/>
13+
<scrollToTopOfPage stepKey="scrollToTop"/>
14+
<click selector="{{AdminNewCatalogPriceRule.save}}" stepKey="saveTheCatalogRule"/>
15+
<waitForPageLoad stepKey="waitForPageToLoad1"/>
16+
<seeElement selector="{{AdminCatalogPriceRuleGrid.updateMessage}}" stepKey="seeMessageToUpdateTheCatalogRules"/>
17+
<see selector="{{AdminNewCatalogPriceRule.successMessage}}" userInput="You saved the rule." stepKey="seeSuccessMessage"/>
18+
<click stepKey="applyRules" selector="{{AdminCatalogPriceRuleGrid.applyRules}}"/>
19+
<see stepKey="assertSuccess" selector="{{AdminCategoryMessagesSection.SuccessMessage}}" userInput="Updated rules applied."/>
20+
</actionGroup>
21+
</actionGroups>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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="AdminSearchCatalogRuleInGridActionGroup">
12+
<arguments>
13+
<argument name="catalogRuleName" type="string"/>
14+
</arguments>
15+
<amOnPage stepKey="goToPriceRulePage" url="{{CatalogRulePage.url}}"/>
16+
<waitForPageLoad stepKey="waitForPriceRulePage"/>
17+
<click selector="{{AdminCatalogPriceRuleGrid.resetFilter}}" stepKey="clickOnResetFilter"/>
18+
<waitForPageLoad stepKey="waitForTheGridPageToLoad"/>
19+
<fillField selector="{{AdminCatalogPriceRuleGrid.ruleFilter}}" userInput="{{catalogRuleName}}" stepKey="fillTheRuleFilter"/>
20+
<click selector="{{AdminCatalogPriceRuleGrid.search}}" stepKey="clickOnSearchButton"/>
21+
<waitForPageLoad stepKey="waitForTheSearchResult"/>
22+
</actionGroup>
23+
</actionGroups>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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="AdminSelectCatalogRuleFromGridActionGroup">
12+
<arguments>
13+
<argument name="catalogRuleName" type="string"/>
14+
</arguments>
15+
<click selector="{{AdminCatalogPriceRuleGrid.selectRowByRuleName(catalogRuleName)}}" stepKey="selectRow"/>
16+
<waitForPageLoad stepKey="waitForPageToLoad"/>
17+
</actionGroup>
18+
</actionGroups>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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="AssertCatalogPriceRuleFormActionGroup">
12+
<arguments>
13+
<argument name="catalogRule" defaultValue="inactiveCatalogRule" />
14+
<argument name="status" type="string" defaultValue=""/>
15+
<argument name="websites" type="string"/>
16+
<argument name="customerGroup" type="string"/>
17+
</arguments>
18+
<seeInField stepKey="fillName" selector="{{AdminNewCatalogPriceRule.ruleName}}" userInput="{{catalogRule.name}}"/>
19+
<seeInField stepKey="fillDescription" selector="{{AdminNewCatalogPriceRule.description}}" userInput="{{catalogRule.description}}"/>
20+
<seeOptionIsSelected selector="{{AdminNewCatalogPriceRule.status}}" userInput="{{status}}" stepKey="selectStatus"/>
21+
<see stepKey="seeWebSite" selector="{{AdminNewCatalogPriceRule.websites}}" userInput="{{websites}}"/>
22+
<seeOptionIsSelected selector="{{AdminNewCatalogPriceRule.customerGroups}}" userInput="{{customerGroup}}" stepKey="selectCustomerGroup"/>
23+
<scrollTo selector="{{AdminNewCatalogPriceRule.actionsTab}}" stepKey="scrollToActionTab"/>
24+
<click stepKey="openActionDropdown" selector="{{AdminNewCatalogPriceRule.actionsTab}}"/>
25+
<seeInField stepKey="discountType" selector="{{AdminNewCatalogPriceRuleActions.apply}}" userInput="{{catalogRule.simple_action}}"/>
26+
<seeInField stepKey="fillDiscountValue" selector="{{AdminNewCatalogPriceRuleActions.discountAmount}}" userInput="{{catalogRule.discount_amount}}"/>
27+
<waitForPageLoad stepKey="waitForPageToLoad"/>
28+
</actionGroup>
29+
</actionGroups>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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="AssertCatalogRuleInGridActionGroup">
12+
<arguments>
13+
<argument name="catalogRuleName" type="string"/>
14+
<argument name="status" type="string" defaultValue=""/>
15+
<argument name="websites" type="string"/>
16+
<argument name="catalogRuleId" type="string"/>
17+
</arguments>
18+
<see selector="{{AdminCatalogPriceRuleGrid.firstRow}}" userInput="{{catalogRuleId}}" stepKey="seeCatalogRuleId"/>
19+
<see selector="{{AdminCatalogPriceRuleGrid.firstRow}}" userInput="{{catalogRuleName}}" stepKey="seeCatalogRuleName"/>
20+
<see selector="{{AdminCatalogPriceRuleGrid.firstRow}}" userInput="{{status}}" stepKey="seeCatalogRuleStatus"/>
21+
<see selector="{{AdminCatalogPriceRuleGrid.firstRow}}" userInput="{{websites}}" stepKey="seeCatalogRuleWebsite"/>
22+
</actionGroup>
23+
</actionGroups>

app/code/Magento/CatalogRule/Test/Mftf/Data/CatalogRuleData.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,19 @@
9494
<data key="simple_action">by_percent</data>
9595
<data key="discount_amount">10</data>
9696
</entity>
97+
<entity name="InactiveCatalogRule" type="catalogRule">
98+
<data key="name" unique="suffix">InactiveCatalogRule</data>
99+
<data key="description">Inactive Catalog Price Rule Description</data>
100+
<data key="is_active">0</data>
101+
<array key="customer_group_ids">
102+
<item>1</item>
103+
</array>
104+
<array key="website_ids">
105+
<item>1</item>
106+
</array>
107+
<data key="simple_action">by_fixed</data>
108+
<data key="discount_amount">10</data>
109+
</entity>
97110

98111
<entity name="CatalogRuleWithoutDiscount" type="catalogRule">
99112
<data key="name" unique="suffix">CatalogPriceRuleWithoutDiscount</data>
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+
9+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
11+
<page name="AdminNewCatalogPriceRulePage" url="catalog_rule/promo_catalog/new/" module="Magento_CatalogRule" area="admin">
12+
<section name="AdminNewCatalogPriceRule"/>
13+
</page>
14+
</pages>

app/code/Magento/CatalogRule/Test/Mftf/Section/AdminNewCatalogPriceRuleSection.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
<element name="save" type="button" selector="#save" timeout="30"/>
1414
<element name="saveAndContinue" type="button" selector="#save_and_continue" timeout="30"/>
1515
<element name="delete" type="button" selector="#delete" timeout="30"/>
16+
<element name="okButton" type="button" selector="//button[@class='action-primary action-accept']"/>
17+
<element name="successMessage" type="text" selector="#messages"/>
1618

1719
<element name="ruleName" type="input" selector="[name='name']"/>
1820
<element name="description" type="textarea" selector="[name='description']"/>
@@ -51,5 +53,11 @@
5153

5254
<section name="AdminCatalogPriceRuleGrid">
5355
<element name="applyRules" type="button" selector="#apply_rules" timeout="30"/>
56+
<element name="updateMessage" type="text" selector="//div[@class='message message-notice notice']//div[contains(.,'We found updated rules that are not applied. Please click')]"/>
57+
<element name="ruleFilter" type="input" selector="//td[@data-column='name']/input[@name='name']"/>
58+
<element name="resetFilter" type="button" selector="//button[@title='Reset Filter']" timeout="30"/>
59+
<element name="search" type="button" selector="//div[@id='promo_catalog_grid']//button[@title='Search']" timeout="30"/>
60+
<element name="selectRowByRuleName" type="text" selector="//tr[@data-role='row']//td[contains(.,'{{ruleName}}')]" parameterized="true"/>
61+
<element name="firstRow" type="text" selector="//tr[@data-role='row']"/>
5462
</section>
5563
</sections>
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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="AdminCreateInactiveCatalogPriceRuleTest">
11+
<annotations>
12+
<stories value="Create Catalog Price Rule"/>
13+
<title value="Create Inactive Catalog Price Rule"/>
14+
<description value="Login as admin and create inactive catalog price Rule"/>
15+
<testCaseId value="MC-13977"/>
16+
<severity value="CRITICAL"/>
17+
<group value="mtf_migrated"/>
18+
</annotations>
19+
20+
<before>
21+
<actionGroup ref="LoginAsAdmin" stepKey="loginToAdminPanel"/>
22+
</before>
23+
<after>
24+
<actionGroup ref="AdminSearchCatalogRuleInGridActionGroup" stepKey="searchCreatedCatalogRule">
25+
<argument name="catalogRuleName" value="{{InactiveCatalogRule.name}}"/>
26+
</actionGroup>
27+
<actionGroup ref="AdminSelectCatalogRuleFromGridActionGroup" stepKey="selectCreatedCatalogRule">
28+
<argument name="catalogRuleName" value="{{InactiveCatalogRule.name}}"/>
29+
</actionGroup>
30+
<actionGroup ref="AdminDeleteCatalogRuleActionGroup" stepKey="deleteTheCatalogRule"/>
31+
<actionGroup ref="logout" stepKey="logout"/>
32+
</after>
33+
34+
<!-- Create Inactive Catalog Price Rule -->
35+
<actionGroup ref="AdminCreateNewCatalogPriceRuleActionGroup" stepKey="createCatalogPriceRule">
36+
<argument name="catalogRule" value="InactiveCatalogRule"/>
37+
<argument name="customerGroup" value="General"/>
38+
</actionGroup>
39+
40+
<!-- Save and Apply Rules -->
41+
<actionGroup ref="AdminSaveAndApplyRulesActionGroup" stepKey="saveAndApplyRules"/>
42+
43+
<!-- Search Catalog Rule in Grid -->
44+
<actionGroup ref="AdminSearchCatalogRuleInGridActionGroup" stepKey="searchAndSelectCreatedCatalogRule">
45+
<argument name="catalogRuleName" value="{{InactiveCatalogRule.name}}"/>
46+
</actionGroup>
47+
48+
<!--Select Catalog Rule in Grid -->
49+
<actionGroup ref="AdminSelectCatalogRuleFromGridActionGroup" stepKey="selectCreatedCatalogRule">
50+
<argument name="catalogRuleName" value="{{InactiveCatalogRule.name}}"/>
51+
</actionGroup>
52+
<grabFromCurrentUrl stepKey="catalogRuleId" regex="#\/([0-9]*)?\/$#"/>
53+
54+
<!-- Assert catalog Price Rule Form -->
55+
<actionGroup ref="AssertCatalogPriceRuleFormActionGroup" stepKey="assertCatalogRuleForm">
56+
<argument name="catalogRule" value="InactiveCatalogRule"/>
57+
<argument name="status" value="Inactive"/>
58+
<argument name="websites" value="Main Website"/>
59+
<argument name="customerGroup" value="General"/>
60+
</actionGroup>
61+
62+
<!-- Search Catalog Rule in Grid -->
63+
<actionGroup ref="AdminSearchCatalogRuleInGridActionGroup" stepKey="searchCreatedCatalogRule">
64+
<argument name="catalogRuleName" value="{{InactiveCatalogRule.name}}"/>
65+
</actionGroup>
66+
67+
<!-- Assert Catalog Rule In Grid -->
68+
<actionGroup ref="AssertCatalogRuleInGridActionGroup" stepKey="assertCatalogRuleInGrid">
69+
<argument name="catalogRuleName" value="{{InactiveCatalogRule.name}}"/>
70+
<argument name="status" value="Inactive"/>
71+
<argument name="websites" value="Main Website"/>
72+
<argument name="catalogRuleId" value="$catalogRuleId"/>
73+
</actionGroup>
74+
</test>
75+
</tests>

0 commit comments

Comments
 (0)