Skip to content

Commit 5163fea

Browse files
shanthishanthi
authored andcommitted
ACQE-4369:TierPricingWhenPriceScopeIsWebsiteWorkingProperlyWithMultipleCurrenciesConfiguredTest
1 parent 92940a8 commit 5163fea

6 files changed

+278
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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="AssertStorefrontProductDetailPageTierPriceWithCurrencyActionGroup">
11+
<arguments>
12+
<argument name="tierProductPriceDiscountQuantity" type="string"/>
13+
<argument name="productPriceWithAppliedTierPriceDiscount" type="string"/>
14+
<argument name="productSavedPricePercent" type="string"/>
15+
<argument name="index" type="string"/>
16+
17+
</arguments>
18+
<grabTextFrom selector="{{StorefrontProductInfoMainSection.tierPriceWithIndex(index)}}" stepKey="tierPriceText"/>
19+
<assertEquals stepKey="assertTierPriceTextOnProductPage">
20+
<expectedResult type="string">Buy {{tierProductPriceDiscountQuantity}} for €{{productPriceWithAppliedTierPriceDiscount}} each and save {{productSavedPricePercent}}%</expectedResult>
21+
<actualResult type="variable">tierPriceText</actualResult>
22+
</assertEquals>
23+
</actionGroup>
24+
</actionGroups>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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="ProductSetAdvancedPricingWithIndexActionGroup">
12+
<annotations>
13+
<description>Sets the provided Advanced Pricing on the Admin Product creation/edit page.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="website" type="string" defaultValue=""/>
17+
<argument name="group" type="string" defaultValue="Retailer"/>
18+
<argument name="quantity" type="string" defaultValue="1"/>
19+
<argument name="price" type="string" defaultValue="Discount"/>
20+
<argument name="amount" type="string" defaultValue="45"/>
21+
<argument name="index" type="string" defaultValue="0"/>
22+
</arguments>
23+
24+
<click selector="{{AdminProductFormSection.advancedPricingLink}}" stepKey="clickOnAdvancedPricingButton"/>
25+
<waitForElementVisible selector="{{AdminProductFormAdvancedPricingSection.customerGroupPriceAddButton}}" stepKey="waitForCustomerGroupPriceAddButton"/>
26+
<click selector="{{AdminProductFormAdvancedPricingSection.customerGroupPriceAddButton}}" stepKey="addCustomerGroupAllGroupsQty1PriceDiscountAnd10percent"/>
27+
<waitForElement selector="{{AdminProductFormAdvancedPricingSection.productTierPriceCustGroupSelect(index)}}" stepKey="waitForSelectCustomerGroupNameAttribute2"/>
28+
<selectOption selector="{{AdminProductFormAdvancedPricingSection.productTierPriceWebsiteSelect(index)}}" userInput="{{website}}" stepKey="selectProductWebsiteValue"/>
29+
<selectOption selector="{{AdminProductFormAdvancedPricingSection.productTierPriceCustGroupSelect(index)}}" userInput="{{group}}" stepKey="selectProductCustomGroupValue"/>
30+
<fillField selector="{{AdminProductFormAdvancedPricingSection.productTierPriceQtyInput(index)}}" userInput="{{quantity}}" stepKey="fillProductTierPriceQtyInput"/>
31+
<selectOption selector="{{AdminProductFormAdvancedPricingSection.productTierPriceValueTypeSelect(index)}}" userInput="{{price}}" stepKey="selectProductTierPriceValueType"/>
32+
<fillField selector="{{AdminProductFormAdvancedPricingSection.productTierPricePercentageValuePriceInput(index)}}" userInput="{{amount}}" stepKey="selectProductTierPricePriceInput"/>
33+
<click selector="{{AdminProductFormAdvancedPricingSection.doneButton}}" stepKey="clickDoneButton"/>
34+
<waitForPageLoad stepKey="WaitForProductSave"/>
35+
<click selector="{{AdminProductFormAdvancedPricingSection.save}}" stepKey="clickSaveProduct1"/>
36+
<waitForPageLoad time="60" stepKey="WaitForProductSave1"/>
37+
<see userInput="You saved the product." stepKey="seeSaveConfirmation"/>
38+
</actionGroup>
39+
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Section/StorefrontProductInfoMainSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
<element name="productTierPriceByForTextLabel" type="text" selector="//ul[contains(@class, 'prices-tier')]//li[{{var1}}][contains(text(),'Buy {{var2}} for')]" parameterized="true"/>
7979
<element name="productTierPriceAmount" type="text" selector="//ul[contains(@class, 'prices-tier')]//li[{{var1}}]//span[contains(text(), '{{var2}}')]" parameterized="true"/>
8080
<element name="productTierPriceSavePercentageAmount" type="text" selector="//ul[contains(@class, 'prices-tier')]//li[{{var1}}]//span[contains(@class, 'percent')][contains(text(), '{{var2}}')]" parameterized="true"/>
81+
<element name="tierPriceWithIndex" type="text" selector=".//*[@class='prices-tier items']/li[{{var}}]" parameterized="true"/>
8182

8283
<!-- Special price selectors -->
8384
<element name="productSpecialPrice" type="text" selector="//span[@data-price-type='finalPrice']/span"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="TierPricingWhenPriceScopeIsWebsiteWorkingProperlyWithMultipleCurrenciesConfiguredTest">
12+
<annotations>
13+
<stories value="Tire Price"/>
14+
<title value="Tier pricing when price scope is Website working properly with multiple currencies configured"/>
15+
<description value="Tier pricing when price scope is Website working properly with multiple currencies configured"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="AC-6094"/>
18+
</annotations>
19+
<before>
20+
<!-- Set in Stores > Configuration > Catalog > Catalog > Price - Catalog Price Scope = "Website" -->
21+
<magentoCLI command="config:set {{WebsiteCatalogPriceScopeConfigData.path}} {{WebsiteCatalogPriceScopeConfigData.value}}" stepKey="setPriceScopeWebsite"/>
22+
<createData entity="SimpleProduct2" stepKey="createSimpleProduct">
23+
<field key="price">100.00</field>
24+
</createData>
25+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
26+
<!-- Create website, Store and Store View -->
27+
<actionGroup ref="AdminCreateWebsiteActionGroup" stepKey="createWebsite">
28+
<argument name="newWebsiteName" value="{{NewWebSiteData.name}}"/>
29+
<argument name="websiteCode" value="{{NewWebSiteData.code}}"/>
30+
</actionGroup>
31+
<actionGroup ref="AdminCreateNewStoreGroupActionGroup" stepKey="createNewStore">
32+
<argument name="website" value="{{NewWebSiteData.name}}"/>
33+
<argument name="storeGroupName" value="{{NewStoreData.name}}"/>
34+
<argument name="storeGroupCode" value="{{NewStoreData.code}}"/>
35+
</actionGroup>
36+
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createCustomStoreView">
37+
<argument name="StoreGroup" value="NewStoreData"/>
38+
<argument name="customStore" value="NewStoreViewData"/>
39+
</actionGroup>
40+
<amOnPage url="{{ConfigCurrencySetupPage.url}}" stepKey="navigateToConfigCurrencySetupPage1"/>
41+
<selectOption selector="{{CurrencySetupSection.baseCurrency}}" userInput="Swedish Krona" stepKey="setBaseCurrencyField"/>
42+
<selectOption selector="{{CurrencySetupSection.allowCurrencies}}" parameterArray="['Euro', 'US Dollar']" stepKey="selectCurrencies"/>
43+
<click stepKey="saveConfigs" selector="{{AdminConfigSection.saveButton}}"/>
44+
<wait time="15" stepKey="waitfordefaultupdate"/>
45+
<click selector="{{AdminBannerBasicActionSection.Scope}}" stepKey="clickScopeSelector"/>
46+
<waitForElementVisible selector="{{AdminBannerBasicActionSection.ScopeDropdown}}" stepKey="waitForScopeDropdown"/>
47+
<click selector="{{AdminBannerBasicActionSection.ScopeOption(NewWebSiteData.name)}}" stepKey="selectScope"/>
48+
<waitForElementVisible selector="{{AdminBannerBasicActionSection.ScopeModal}}" stepKey="waitForScopeModal"/>
49+
<click selector="{{AdminBannerBasicActionSection.ScopeModalConfirm}}" stepKey="confirmScopeModal"/>
50+
<waitForPageLoad stepKey="waitForPageLoad7"/>
51+
<actionGroup ref="AdminSetBaseCurrencyActionGroup" stepKey="setBaseCurrencyEUR">
52+
<argument name="currency" value="Euro"/>
53+
</actionGroup>
54+
<actionGroup ref="AdminSetDefaultCurrencyActionGroup" stepKey="setDefaultCurrencyEUR">
55+
<argument name="currency" value="Euro"/>
56+
</actionGroup>
57+
<uncheckOption selector="{{CurrencySetupSection.allowcurrenciescheckbox}}" stepKey="uncheckAllowCurrencyUseDefaultOption1"/>
58+
<unselectOption selector="{{CurrencySetupSection.allowCurrencies}}" parameterArray="['US Dollar']" stepKey="deselectUSCurrency"/>
59+
<click stepKey="saveConfigs1" selector="{{AdminConfigSection.saveButton}}"/>
60+
<wait time="15" stepKey="waitforNewWebsiteupdate"/>
61+
<click selector="{{AdminBannerBasicActionSection.Scope}}" stepKey="clickScopeSelector1"/>
62+
<waitForElementVisible selector="{{AdminBannerBasicActionSection.ScopeDropdown}}" stepKey="waitForScopeDropdown1"/>
63+
<click selector="{{AdminBannerBasicActionSection.ScopeOption('Default Config')}}" stepKey="selectScope1"/>
64+
<waitForElementVisible selector="{{AdminBannerBasicActionSection.ScopeModal}}" stepKey="waitForScopeModal1"/>
65+
<click selector="{{AdminBannerBasicActionSection.ScopeModalConfirm}}" stepKey="confirmScopeModal1"/>
66+
<waitForPageLoad stepKey="waitForPageLoad8"/>
67+
68+
<actionGroup ref="AdminOpenCurrencyRatesPageActionGroup" stepKey="gotToCurrencyRatesPage"/>
69+
<actionGroup ref="AdminSetCurrencyRatesActionGroup" stepKey="revertCurrencyRates1">
70+
<argument name="firstCurrency" value="EUR"/>
71+
<argument name="secondCurrency" value="SEK"/>
72+
<argument name="rate" value="10.7500"/>
73+
</actionGroup>
74+
<actionGroup ref="AdminSetCurrencyRatesActionGroup" stepKey="revertCurrencyRates2">
75+
<argument name="firstCurrency" value="EUR"/>
76+
<argument name="secondCurrency" value="USD"/>
77+
<argument name="rate" value="1.1200"/>
78+
</actionGroup>
79+
80+
<actionGroup ref="AdminSetCurrencyRatesActionGroup" stepKey="revertCurrencyRates3">
81+
<argument name="firstCurrency" value="SEK"/>
82+
<argument name="secondCurrency" value="EUR"/>
83+
<argument name="rate" value="0.0930"/>
84+
</actionGroup>
85+
<actionGroup ref="AdminSetCurrencyRatesActionGroup" stepKey="revertCurrencyRates4">
86+
<argument name="firstCurrency" value="SEK"/>
87+
<argument name="secondCurrency" value="USD"/>
88+
<argument name="rate" value="0.1000"/>
89+
</actionGroup>
90+
<magentoCron groups="index" stepKey="reindex"/>
91+
92+
<!-- Go to Catalog -> Products -->
93+
<actionGroup ref="AdminOpenProductIndexPageActionGroup" stepKey="goToProductPage"/>
94+
95+
<!-- Click Edit option for Simple2 -->
96+
<actionGroup ref="FilterProductGridBySkuActionGroup" stepKey="filterSimopleProduct2">
97+
<argument name="product" value="$$createSimpleProduct$$"/>
98+
</actionGroup>
99+
<click selector="{{AdminDataGridTableSection.rowViewAction('1')}}" stepKey="clickProduct2"/>
100+
<waitForPageLoad stepKey="waitForEditProductPage"/>
101+
102+
<actionGroup ref="ProductSetAdvancedPricingWithIndexActionGroup" stepKey="addProductTierPrice1">
103+
<argument name="group" value="ALL GROUPS"/>
104+
<argument name="quantity" value="10"/>
105+
<argument name="price" value="Discount"/>
106+
<argument name="amount" value="10"/>
107+
<argument name="index" value="0"/>
108+
</actionGroup>
109+
<actionGroup ref="ProductSetAdvancedPricingWithIndexActionGroup" stepKey="addProductTierPrice2">
110+
<argument name="group" value="ALL GROUPS"/>
111+
<argument name="quantity" value="20"/>
112+
<argument name="price" value="Discount"/>
113+
<argument name="amount" value="20"/>
114+
<argument name="index" value="1"/>
115+
</actionGroup>
116+
<actionGroup ref="ProductSetAdvancedPricingWithIndexActionGroup" stepKey="addProductTierPrice3">
117+
<argument name="group" value="ALL GROUPS"/>
118+
<argument name="quantity" value="30"/>
119+
<argument name="price" value="Discount"/>
120+
<argument name="amount" value="30"/>
121+
<argument name="index" value="2"/>
122+
</actionGroup>
123+
<actionGroup ref="SelectProductInWebsitesActionGroup" stepKey="selectWebsiteForProduct2">
124+
<argument name="website" value="{{NewWebSiteData.name}}"/>
125+
</actionGroup>
126+
<uncheckOption selector="{{ProductInWebsitesSection.website(_defaultWebsite.name)}}" stepKey="uncheckMainWebsite"/>
127+
<actionGroup ref="SaveProductFormActionGroup" stepKey="saveProduct2"/>
128+
<actionGroup ref="AdminGoCreatedWebsitePageActionGroup" stepKey="openWebsiteToGetId">
129+
<argument name="websiteName" value="{{NewWebSiteData.name}}"/>
130+
</actionGroup>
131+
<click selector="{{AdminNewWebsiteActionsSection.setAsDefault}}" stepKey="setNewWebsiteAsDefault"/>
132+
<click selector="{{AdminNewWebsiteActionsSection.saveWebsite}}" stepKey="clickSaveNewWebsite"/>
133+
<waitForPageLoad stepKey="waitForSuccess"/>
134+
</before>
135+
<after>
136+
<magentoCLI command="config:set {{GlobalCatalogPriceScopeConfigData.path}} {{GlobalCatalogPriceScopeConfigData.value}}" stepKey="setPriceScopeGlobal"/>
137+
<amOnPage url="{{ConfigCurrencySetupPage.url}}" stepKey="navigateToConfigCurrencySetupPage2"/>
138+
<selectOption selector="{{CurrencySetupSection.baseCurrency}}" userInput="US Dollar" stepKey="setBaseCurrencyFieldUSD"/>
139+
<unselectOption selector="{{CurrencySetupSection.allowCurrencies}}" parameterArray="['Euro']" stepKey="unselectCurrencies"/>
140+
<click stepKey="saveConfigs" selector="{{AdminConfigSection.saveButton}}"/>
141+
<!-- Delete data -->
142+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteProduct"/>
143+
<actionGroup ref="AdminGoCreatedWebsitePageActionGroup" stepKey="openOldWebsiteToGetId">
144+
<argument name="websiteName" value="{{_defaultWebsite.name}}"/>
145+
</actionGroup>
146+
<click selector="{{AdminNewWebsiteActionsSection.setAsDefault}}" stepKey="setOldWebsiteAsDefault"/>
147+
<click selector="{{AdminNewWebsiteActionsSection.saveWebsite}}" stepKey="clickSaveOldWebsite"/>
148+
<waitForPageLoad stepKey="waitForSuccess"/>
149+
150+
<actionGroup ref="AdminDeleteWebsiteActionGroup" stepKey="deleteWebsite">
151+
<argument name="websiteName" value="{{NewWebSiteData.name}}"/>
152+
</actionGroup>
153+
<magentoCron groups="index" stepKey="reindex"/>
154+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
155+
</after>
156+
<!-- Click Edit option for Simple2 -->
157+
<!-- Go to Catalog -> Products -->
158+
<actionGroup ref="AdminOpenProductIndexPageActionGroup" stepKey="goToProductPage1"/>
159+
160+
<!-- Click Edit option for Simple2 -->
161+
<actionGroup ref="FilterProductGridBySkuActionGroup" stepKey="filterSimopleProduct3">
162+
<argument name="product" value="$$createSimpleProduct$$"/>
163+
</actionGroup>
164+
<click selector="{{AdminDataGridTableSection.rowViewAction('1')}}" stepKey="clickProduct3"/>
165+
<waitForPageLoad stepKey="waitForEditProductPage"/>
166+
167+
<actionGroup ref="AdminFillProductPriceFieldAndPressEnterOnProductEditPageActionGroup" stepKey="fillPrice">
168+
<argument name="price" value="10"/>
169+
</actionGroup>
170+
<click selector="{{AdminProductFormAdvancedPricingSection.save}}" stepKey="clickSaveSimpleProduct1"/>
171+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="goToStorefrontPage"/>
172+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openProductInStoreFront">
173+
<argument name="product" value="$createSimpleProduct$"/>
174+
</actionGroup>
175+
<actionGroup ref="AssertStorefrontProductDetailPageTierPriceWithCurrencyActionGroup" stepKey="assertProductTierPriceText">
176+
<argument name="tierProductPriceDiscountQuantity" value="10"/>
177+
<argument name="productPriceWithAppliedTierPriceDiscount" value="0.84"/>
178+
<argument name="productSavedPricePercent" value="92"/>
179+
<argument name="index" value="1"/>
180+
</actionGroup>
181+
<actionGroup ref="AssertStorefrontProductDetailPageTierPriceWithCurrencyActionGroup" stepKey="assertProductTierPriceText2">
182+
<argument name="tierProductPriceDiscountQuantity" value="20"/>
183+
<argument name="productPriceWithAppliedTierPriceDiscount" value="0.74"/>
184+
<argument name="productSavedPricePercent" value="93"/>
185+
<argument name="index" value="2"/>
186+
</actionGroup>
187+
<actionGroup ref="AssertStorefrontProductDetailPageTierPriceWithCurrencyActionGroup" stepKey="assertProductTierPriceText3">
188+
<argument name="tierProductPriceDiscountQuantity" value="30"/>
189+
<argument name="productPriceWithAppliedTierPriceDiscount" value="0.65"/>
190+
<argument name="productSavedPricePercent" value="94"/>
191+
<argument name="index" value="3"/>
192+
</actionGroup>
193+
</test>
194+
</tests>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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+
<!-- Set base currency -->
12+
<actionGroup name="AdminSetDefaultCurrencyActionGroup" extends="AdminSaveConfigActionGroup">
13+
<arguments>
14+
<argument name="currency" type="string"/>
15+
</arguments>
16+
<uncheckOption selector="{{CurrencySetupSection.defaultdisplayCurrency}}" before="clickSaveConfigBtn" stepKey="uncheckUseDefaultOption"/>
17+
<selectOption selector="{{CurrencySetupSection.defaultCurrency}}" userInput="{{currency}}" after="uncheckUseDefaultOption" stepKey="setDefaultCurrencyField"/>
18+
</actionGroup>
19+
</actionGroups>

app/code/Magento/Store/Test/Mftf/Section/AdminNewWebsiteActionsSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
99
<section name="AdminNewWebsiteActionsSection">
1010
<element name="saveWebsite" type="button" selector="#save" timeout="120"/>
11+
<element name="setAsDefault" type="checkbox" selector=".//*[@name='website[is_default]']" timeout="120"/>
1112
</section>
1213
</sections>

0 commit comments

Comments
 (0)