Skip to content

Commit 7ee80d4

Browse files
Merge branch 'ACQE-6512' into ACQE-6354_mainline_PR_deployment
2 parents 711a681 + f729989 commit 7ee80d4

File tree

5 files changed

+183
-1
lines changed

5 files changed

+183
-1
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
<element name="listedProduct" type="block" selector="ol li:nth-child({{productPositionInList}}) img" parameterized="true"/>
1919
<element name="ProductImageByNumber" type="button" selector="//main//li[{{var1}}]//img" parameterized="true"/>
2020
<element name="categoryListView" type="button" selector="a[title='List']" timeout="30"/>
21-
2221
<element name="ProductTitleByName" type="button" selector="//main//li//a[contains(text(), '{{var1}}')]" parameterized="true"/>
2322
<element name="ProductPriceByName" type="text" selector="//main//li[.//a[contains(text(), '{{var1}}')]]//span[@class='price']" parameterized="true"/>
2423
<element name="ProductCatalogRuleSpecialPriceTitleByName" type="text" selector="//div[contains(@class, 'product-item-info')][.//a[contains(text(), '{{productName}}')]]//span[@class='special-price']/span" parameterized="true"/>
@@ -36,5 +35,10 @@
3635
<element name="ProductImageByNameAndSrc" type="text" selector="//main//li[.//a[contains(text(), '{{var1}}')]]//img[contains(@src, '{{src}}')]" parameterized="true"/>
3736
<element name="ProductStockUnavailable" type="text" selector="//*[text()='Out of stock']"/>
3837
<element name="listedProductOnProductPage" type="block" selector="//div[contains(@aria-labelledBy,'{{attribute_code}}')]//div[@aria-label='{{attribute_name}}']" parameterized="true"/>
38+
<element name="productCurrencyByProductName" type="text" selector="//strong[@class='product name product-item-name']//a[contains(text(),'{{productName}}')]/parent::strong/following-sibling::div[@class='price-box price-final_price']//span[@class='price' and contains(text(),'{{currencySymbol}}')]" parameterized="true"/>
39+
<element name="productPriceByProductName" type="text" selector="//strong[@class='product name product-item-name']//a[contains(text(),'{{productName}}')]/parent::strong/following-sibling::div[@class='price-box price-final_price']//span[@class='price' and contains(text(),'{{productPrice}}')]" parameterized="true"/>
40+
<element name="filterOptionCurrencySymbol" type="text" selector="//div[@class='filter-options-content']//a//span[@class='price' and contains(text(),'{{currencySymbol}}')]" parameterized="true"/>
41+
<element name="priceDropdown" type="button" selector="//div[@class='filter-options-title']"/>
42+
<element name="priceBlockShoppingOptions" type="block" selector="//div[@class='filter-options-content']"/>
3943
</section>
4044
</sections>

app/code/Magento/Config/Test/Mftf/Section/AdminConfigSection.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,8 @@
2929
<element name="allowedCurrencyCheckbox" type="checkbox" selector="#currency_options_allow_inherit"/>
3030
<element name="baseCurrency" type="button" selector="#currency_options_base"/>
3131
<element name="selectWebsiteName" type="button" selector="//a[@data-role='website-id' and contains(text(),'{{selectWebsite}}')]" parameterized="true"/>
32+
<element name="currencyOptionsTab" type="button" selector="//a[@id='currency_options-head']"/>
33+
<element name="defaultCurrencySelect" type="select" selector="//tr[@id='row_currency_options_default']//select[@id='currency_options_default']"/>
34+
<element name="baseCurrencyCheckbox" type="checkbox" selector="//input[@id='currency_options_base_inherit']"/>
3235
</section>
3336
</sections>
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="StorefrontAssertCurrencySymbolOnCategoryPageActionGroup">
12+
<annotations>
13+
<description>Assert price and currency of product on storefront category page and shopping options</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="productName" type="string"/>
17+
<argument name="currencySymbol" type="string"/>
18+
<argument name="productPrice" type="string"/>
19+
</arguments>
20+
<waitForElementVisible selector="{{StorefrontCategoryProductSection.productCurrencyByProductName(productName,currencySymbol)}}" stepKey="assertCurrencySymbolByProductName"/>
21+
<waitForElementVisible selector="{{StorefrontCategoryProductSection.productPriceByProductName(productName,productPrice)}}" stepKey="assertPriceByProductName"/>
22+
<conditionalClick selector="{{StorefrontCategoryProductSection.priceDropdown}}" dependentSelector="{{StorefrontCategoryProductSection.priceBlockShoppingOptions}}" visible="false" stepKey="openPriceDropdown"/>
23+
<waitForElementVisible selector="{{StorefrontCategoryProductSection.filterOptionCurrencySymbol(currencySymbol)}}" stepKey="assertCurrencySymbolInShoppingOptions"/>
24+
</actionGroup>
25+
</actionGroups>

app/code/Magento/CurrencySymbol/Test/Mftf/Data/CurrencyRatesConfigData.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,28 @@
170170
<data key="scope">websites</data>
171171
<data key="scope_code">base</data>
172172
</entity>
173+
<entity name="SetCurrencyAEDBaseConfig">
174+
<data key="path">currency/options/base</data>
175+
<data key="value">AED</data>
176+
<data key="scope">websites</data>
177+
<data key="scope_code">base</data>
178+
</entity>
179+
<entity name="SetAllowedCurrenciesConfigForAED">
180+
<data key="path">currency/options/allow</data>
181+
<data key="value">AED</data>
182+
<data key="scope">websites</data>
183+
<data key="scope_code">base</data>
184+
</entity>
185+
<entity name="SetAllowedCurrenciesConfigForQAR">
186+
<data key="path">currency/options/allow</data>
187+
<data key="value">QAR</data>
188+
<data key="scope">websites</data>
189+
<data key="scope_code">base</data>
190+
</entity>
191+
<entity name="SetDefaultCurrencyAEDConfig">
192+
<data key="path">currency/options/default</data>
193+
<data key="value">AED</data>
194+
<data key="scope">websites</data>
195+
<data key="scope_code">base</data>
196+
</entity>
173197
</entities>
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
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="StorefrontSwitchingMultipleCurrenciesTest">
12+
<annotations>
13+
<stories value="Switching Currency"/>
14+
<title value="Storefront switching multiple currencies"/>
15+
<description value="Storefront test correct price and symbol when switching multiple currencies"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="AC-5358"/>
18+
<features value="CurrencySymbol"/>
19+
</annotations>
20+
<before>
21+
<!--Login as admin-->
22+
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>
23+
<!--Set currency options-->
24+
<magentoCLI command="config:set {{SetCurrencyAEDBaseConfig.path}} {{SetCurrencyAEDBaseConfig.value}}" stepKey="setBaseCurrencyAsAED"/>
25+
<magentoCLI command="config:set {{SetAllowedCurrenciesConfigForAED.path}} {{SetAllowedCurrenciesConfigForUSD.value}},{{SetAllowedCurrenciesConfigForQAR.value}},{{SetAllowedCurrenciesConfigForAED.value}}" stepKey="setAllowedCurrencyAsAEDandQARandUSD"/>
26+
<magentoCLI command="config:set {{SetDefaultCurrencyAEDConfig.path}} {{SetDefaultCurrencyAEDConfig.value}}" stepKey="setDefaultCurrencyAED"/>
27+
<!--Enable free shipping-->
28+
<createData entity="FreeShippinMethodConfig" stepKey="enableFreeShipping"/>
29+
<!--Configure currency rates-->
30+
<actionGroup ref="AdminOpenCurrencyRatesPageActionGroup" stepKey="gotToCurrencyRatesPage"/>
31+
<actionGroup ref="AdminSetCurrencyRatesActionGroup" stepKey="setCurrencyRates">
32+
<argument name="firstCurrency" value="AED"/>
33+
<argument name="secondCurrency" value="QAR"/>
34+
<argument name="rate" value="0.77"/>
35+
</actionGroup>
36+
<!--Create category-->
37+
<createData entity="_defaultCategory" stepKey="createCategory"/>
38+
<!--Create product "Banana" having price 3.50 AED-->
39+
<createData entity="SimpleProduct" stepKey="createProductBanana">
40+
<requiredEntity createDataKey="createCategory"/>
41+
<field key="price">3.50</field>
42+
</createData>
43+
<!--Create product "Date" having price 8.00 AED-->
44+
<createData entity="SimpleProduct" stepKey="createProductDate">
45+
<requiredEntity createDataKey="createCategory"/>
46+
<field key="price">8.00</field>
47+
</createData>
48+
<!--Re-index to show product in storefront-->
49+
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex">
50+
<argument name="indices" value=""/>
51+
</actionGroup>
52+
</before>
53+
<after>
54+
<!--Delete category-->
55+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
56+
<!--Delete product Banana-->
57+
<deleteData createDataKey="createProductBanana" stepKey="deletedProductBanana"/>
58+
<!--Dalete product date-->
59+
<deleteData createDataKey="createProductDate" stepKey="deletedProductDate"/>
60+
<!--Disable free shipping-->
61+
<createData entity="FreeShippinMethodDefault" stepKey="disableFreeShippingMethod"/>
62+
<!--Navigate to currency setup page-->
63+
<actionGroup ref="AdminNavigateToCurrencySetupPageActionGroup" stepKey="navigateCurrencySetupPageForDefault"/>
64+
<waitForPageLoad stepKey="waitForCurrencySetupPageToMakeDefault"/>
65+
<!--Open currency options-->
66+
<conditionalClick selector="{{AdminConfigSection.currencyOptionsTab}}" dependentSelector="{{AdminConfigSection.defaultCurrencySelect}}" visible="false" stepKey="openCurrencyOptionsTabToMakeConfigDefault"/>
67+
<!--Check all currency options to make default-->
68+
<checkOption selector="{{AdminConfigSection.allowedCurrencyCheckbox}}" stepKey="checkAllowedDisplayCurrencyToDeafultValueUSDandEUR"/>
69+
<checkOption selector="{{AdminConfigSection.defaultCurrencyCheckbox}}" stepKey="checkDefaultDisplayCurrencyToDefaultValueUSD"/>
70+
<checkOption selector="{{AdminConfigSection.baseCurrencyCheckbox}}" stepKey="checkBaseCurrencyToDefaultValueUSD"/>
71+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfiguration"/>
72+
<!--Logout as admin-->
73+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutAsAdmin"/>
74+
</after>
75+
<!--Navigate to category page-->
76+
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup" stepKey="navigateToCategoryPage">
77+
<argument name="category" value="$$createCategory$$"/>
78+
</actionGroup>
79+
<!--Assert price & currency[AED] for product Banana-->
80+
<actionGroup ref="StorefrontAssertCurrencySymbolOnCategoryPageActionGroup" stepKey="assertPriceAEDForProductBanana">
81+
<argument name="productName" value="$createProductBanana.name$"/>
82+
<argument name="currencySymbol" value="AED"/>
83+
<argument name="productPrice" value="3.50"/>
84+
</actionGroup>
85+
<!--Assert price & currency[AED] for product Date-->
86+
<actionGroup ref="StorefrontAssertCurrencySymbolOnCategoryPageActionGroup" stepKey="assertPriceAEDForProductDate">
87+
<argument name="productName" value="$createProductDate.name$"/>
88+
<argument name="currencySymbol" value="AED"/>
89+
<argument name="productPrice" value="8.00"/>
90+
</actionGroup>
91+
<!--Switch currency to QAR-->
92+
<actionGroup ref="StorefrontSwitchCurrencyActionGroup" stepKey="switchCurrencyToQAR">
93+
<argument name="currency" value="QAR"/>
94+
</actionGroup>
95+
<!--Assert price & currency[QAR] for product Banana-->
96+
<actionGroup ref="StorefrontAssertCurrencySymbolOnCategoryPageActionGroup" stepKey="assertCurrencySymbolQARForProductBanana">
97+
<argument name="productName" value="$createProductBanana.name$"/>
98+
<argument name="currencySymbol" value="QAR"/>
99+
<argument name="productPrice" value="2.70"/>
100+
</actionGroup>
101+
<!--Assert price & currency[QAR] for product Date-->
102+
<actionGroup ref="StorefrontAssertCurrencySymbolOnCategoryPageActionGroup" stepKey="assertCurrencySymbolQARForProductDate">
103+
<argument name="productName" value="$createProductDate.name$"/>
104+
<argument name="currencySymbol" value="QAR"/>
105+
<argument name="productPrice" value="6.16"/>
106+
</actionGroup>
107+
<!--Navigate to product Banana & add to cart-->
108+
<actionGroup ref="StorefrontOpenProductPageActionGroup" stepKey="GoToProductBanana">
109+
<argument name="productUrl" value="$$createProductBanana.custom_attributes[url_key]$$"/>
110+
</actionGroup>
111+
<actionGroup ref="AddToCartFromStorefrontProductPageActionGroup" stepKey="addToCartProductBanana">
112+
<argument name="productName" value="$createProductBanana.name$"/>
113+
</actionGroup>
114+
<!--Navigate to product Date & add to cart-->
115+
<actionGroup ref="StorefrontOpenProductPageActionGroup" stepKey="GoToProductDate">
116+
<argument name="productUrl" value="$$createProductDate.custom_attributes[url_key]$$"/>
117+
</actionGroup>
118+
<actionGroup ref="AddToCartFromStorefrontProductPageActionGroup" stepKey="addToCartProductDate">
119+
<argument name="productName" value="$createProductDate.name$"/>
120+
</actionGroup>
121+
<!--Navigate to cart page-->
122+
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="goToCartPage" />
123+
<!--Assert currency symbol of order total-->
124+
<waitForText selector="{{CheckoutCartSummarySection.orderTotal}}" userInput="QAR" stepKey="assertOrderTotalCurrencySymbol"/>
125+
</test>
126+
</tests>

0 commit comments

Comments
 (0)