Skip to content

Commit 14a63eb

Browse files
committed
Merge branch 'mtf-eol' into MC-4399
2 parents 5321817 + dd03a6d commit 14a63eb

File tree

11 files changed

+393
-9
lines changed

11 files changed

+393
-9
lines changed

app/code/Magento/Catalog/Test/Mftf/Data/CategoryData.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@
4444
</entity>
4545
<entity name="FirstLevelSubCat" type="category">
4646
<data key="name" unique="suffix">FirstLevelSubCategory</data>
47-
<data key="name_lwr" unique="suffix">subcategory</data>
47+
<data key="name_lwr" unique="suffix">firstlevelsubcategory</data>
4848
</entity>
4949
<entity name="SecondLevelSubCat" type="category">
5050
<data key="name" unique="suffix">SecondLevelSubCategory</data>
51-
<data key="name_lwr" unique="suffix">subcategory</data>
51+
<data key="name_lwr" unique="suffix">secondlevelsubcategory</data>
5252
</entity>
5353
<entity name="ThirdLevelSubCat" type="category">
5454
<data key="name" unique="suffix">ThirdLevelSubCategory</data>

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,4 +696,16 @@
696696
<data key="urlKey" unique="suffix">virtual-product</data>
697697
<data key="type_id">virtual</data>
698698
</entity>
699+
<entity name="nameAndAttributeSkuMaskSimpleProduct" type="product">
700+
<data key="urlKey" unique="suffix">simple-product</data>
701+
<data key="name" unique="suffix">SimpleProduct</data>
702+
<data key="price">10000.00</data>
703+
<data key="quantity">657</data>
704+
<data key="weight">50</data>
705+
<data key="country_of_manufacture">UA</data>
706+
<data key="country_of_manufacture_label">Ukraine</data>
707+
<data key="type_id">simple</data>
708+
<data key="status">1</data>
709+
<requiredEntity type="product_extension_attribute">EavStock100</requiredEntity>
710+
</entity>
699711
</entities>

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
<element name="selectCategory" type="input" selector="//*[@data-index='category_ids']//label[contains(., '{{categoryName}}')]" parameterized="true"/>
5757
<element name="done" type="button" selector="//*[@data-index='category_ids']//button[@data-action='close-advanced-select']" timeout="30"/>
5858
<element name="selectMultipleCategories" type="input" selector="//*[@data-index='container_category_ids']//*[contains(@class, '_selected')]"/>
59+
<element name="countryOfManufacture" type="select" selector="select[name='product[country_of_manufacture]']"/>
5960
</section>
6061
<section name="ProductInWebsitesSection">
6162
<element name="sectionHeader" type="button" selector="div[data-index='websites']" timeout="30"/>
@@ -66,10 +67,12 @@
6667
<element name="LayoutDropdown" type="select" selector="select[name='product[page_layout]']"/>
6768
</section>
6869
<section name="AdminProductFormRelatedUpSellCrossSellSection">
70+
<element name="relatedProductsHeader" type="button" selector=".admin__collapsible-block-wrapper[data-index='related']" timeout="30"/>
6971
<element name="AddRelatedProductsButton" type="button" selector="button[data-index='button_related']" timeout="30"/>
72+
<element name="addUpSellProduct" type="button" selector="button[data-index='button_upsell']" timeout="30"/>
7073
</section>
7174
<section name="AdminAddRelatedProductsModalSection">
72-
<element name="AddSelectedProductsButton" type="button" selector="//aside[contains(@class, 'product_form_product_form_related_related_modal')]//button/span[contains(text(), 'Add Selected Products')]" timeout="30"/>
75+
<element name="AddSelectedProductsButton" type="button" selector=".product_form_product_form_related_upsell_modal .page-actions-buttons .action-primary" timeout="30"/>
7376
</section>
7477
<section name="ProductWYSIWYGSection">
7578
<element name="Switcher" type="button" selector="//select[@id='dropdown-switcher']"/>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="AdminProductGridSection">
11-
<element name="productRowBySku" type="block" selector="//div[@id='container']//tr//td[count(../../..//th[./*[.='SKU']]/preceding-sibling::th) + 1][./*[.='{{sku}}']]" parameterized="true" />
12-
<element name="productRowCheckboxBySku" type="block" selector="//div[@id='container']//tr//td[count(../../..//th[./*[.='SKU']]/preceding-sibling::th) + 1][./*[.='{{sku}}']]/../td//input[@data-action='select-row']" parameterized="true" />
11+
<element name="productRowBySku" type="block" selector="//td[count(../../..//th[./*[.='SKU']]/preceding-sibling::th) + 1][./*[.='{{sku}}']]" parameterized="true" />
12+
<element name="productRowCheckboxBySku" type="block" selector="//td[count(../../..//th[./*[.='SKU']]/preceding-sibling::th) + 1][./*[.='{{sku}}']]/../td//input[@data-action='select-row']" parameterized="true" />
1313
<element name="loadingMask" type="text" selector=".admin__data-grid-loading-mask[data-component*='product_listing']"/>
1414
<element name="columnHeader" type="button" selector="//div[@data-role='grid-wrapper']//table[contains(@class, 'data-grid')]/thead/tr/th[contains(@class, 'data-grid-th')]/span[text() = '{{label}}']" parameterized="true" timeout="30"/>
1515
<element name="column" type="text" selector="//tr//td[count(//div[@data-role='grid-wrapper']//tr//th[contains(., '{{column}}')]/preceding-sibling::th) +1 ]" parameterized="true"/>
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+
9+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="StorefrontProductUpSellProductsSection">
12+
<element name="upSellHeading" type="text" selector="#block-upsell-heading"/>
13+
<element name="upSellProducts" type="text" selector="div.upsell .product-item-name"/>
14+
</section>
15+
</sections>
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+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminCreateSimpleProductWithCountryOfManufactureAttributeSKUMaskTest">
12+
<annotations>
13+
<stories value="Create simple product"/>
14+
<title value="Create simple product with (Country of Manufacture) Attribute SKU Mask"/>
15+
<description value="Test log in to Create simple product and Create simple product with (Country of Manufacture) Attribute SKU Mask"/>
16+
<testCaseId value="MC-11024"/>
17+
<severity value="CRITICAL"/>
18+
<group value="catalog"/>
19+
<group value="mtf_migrated"/>
20+
</annotations>
21+
22+
<before>
23+
<magentoCLI stepKey="setCountryOfManufacture" command="config:set catalog/fields_masks/sku" arguments="'{{name}} {{country_of_manufacture}}'"/>
24+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
25+
</before>
26+
<after>
27+
<actionGroup ref="deleteProductBySku" stepKey="deleteCreatedProduct">
28+
<argument name="sku" value="{{nameAndAttributeSkuMaskSimpleProduct.name}} {{nameAndAttributeSkuMaskSimpleProduct.country_of_manufacture_label}}" />
29+
</actionGroup>
30+
<magentoCLI stepKey="setName" command="config:set catalog/fields_masks/sku" arguments="'{{name}}'"/>
31+
<actionGroup ref="logout" stepKey="logout"/>
32+
</after>
33+
34+
<amOnPage url="{{ProductCatalogPage.url}}" stepKey="openProductCatalogPage"/>
35+
<waitForPageLoad stepKey="waitForProductCatalogPage"/>
36+
<click selector="{{AdminProductGridActionSection.addProductToggle}}" stepKey="clickAddProductToggle"/>
37+
<waitForPageLoad stepKey="waitForProductToggleToSelectSimpleProduct"/>
38+
<click selector="{{AdminProductGridActionSection.addSimpleProduct}}" stepKey="clickSimpleProductFromDropDownList"/>
39+
40+
<!-- Create simple product with country of manufacture attribute -->
41+
<fillField selector="{{AdminProductFormSection.productName}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.name}}" stepKey="fillSimpleProductName"/>
42+
<fillField selector="{{AdminProductFormSection.productPrice}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.price}}" stepKey="fillSimpleProductPrice"/>
43+
<fillField selector="{{AdminProductFormSection.productWeight}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.weight}}" stepKey="fillSimpleProductWeight"/>
44+
<fillField selector="{{AdminProductFormSection.productQuantity}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.quantity}}" stepKey="fillSimpleProductQuantity"/>
45+
<selectOption selector="{{AdminProductFormSection.countryOfManufacture}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.country_of_manufacture_label}}" stepKey="selectCountryOfManufacture"/>
46+
<click selector="{{AdminProductFormSection.save}}" stepKey="clickSaveButton"/>
47+
<waitForPageLoad stepKey="waitForSimpleProductToSave"/>
48+
<!-- Verify customer see success message -->
49+
<see selector="{{AdminProductFormSection.successMessage}}" userInput="You saved the product." stepKey="seeAssertSimpleProductSaveSuccessMessage"/>
50+
51+
<!-- Search created simple product(from above step) in the grid page to verify sku masked as name and country of manufacture -->
52+
<amOnPage url="{{ProductCatalogPage.url}}" stepKey="OpenProductCatalogPageToSearchCreatedSimpleProduct"/>
53+
<waitForPageLoad stepKey="waitForProductCatalogPageToLoad"/>
54+
<conditionalClick selector="{{AdminProductGridFilterSection.clearAll}}" dependentSelector="{{AdminProductGridFilterSection.clearAll}}" visible="true" stepKey="clickClearAll"/>
55+
<click selector="{{AdminProductGridFilterSection.filters}}" stepKey="clickFiltersButton"/>
56+
<fillField selector="{{AdminProductGridFilterSection.skuFilter}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.name}} {{nameAndAttributeSkuMaskSimpleProduct.country_of_manufacture_label}}" stepKey="fillSkuFilterFieldWithNameAndCountryOfManufactureInput" />
57+
<click selector="{{AdminProductGridFilterSection.applyFilters}}" stepKey="clickApplyFiltersButton"/>
58+
<waitForPageLoad stepKey="waitForProductSearchAfterApplyingFilters"/>
59+
<see selector="{{AdminProductGridSection.firstProductRow}}" userInput="{{nameAndAttributeSkuMaskSimpleProduct.name}} {{nameAndAttributeSkuMaskSimpleProduct.country_of_manufacture_label}}" stepKey="seeSimpleProductSkuMaskedAsNameAndCountryOfManufacture"/>
60+
</test>
61+
</tests>
Lines changed: 116 additions & 0 deletions
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+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminMoveCategoryToAnotherPositionInCategoryTreeTest">
12+
<annotations>
13+
<stories value="Move categories"/>
14+
<title value="Move Category to Another Position in Category Tree"/>
15+
<description value="Test log in to Move Category and Move Category to Another Position in Category Tree"/>
16+
<testCaseId value="MC-13612"/>
17+
<severity value="CRITICAL"/>
18+
<group value="catalog"/>
19+
<group value="mtf_migrated"/>
20+
</annotations>
21+
22+
<before>
23+
<actionGroup ref="LoginAsAdmin" stepKey="loginToAdminPanel"/>
24+
<createData entity="_defaultCategory" stepKey="createDefaultCategory"/>
25+
</before>
26+
<after>
27+
<deleteData createDataKey="createDefaultCategory" stepKey="deleteDefaultCategory"/>
28+
<actionGroup ref="DeleteCategory" stepKey="SecondLevelSubCat">
29+
<argument name="categoryEntity" value="SecondLevelSubCat"/>
30+
</actionGroup>
31+
<actionGroup ref="logout" stepKey="logout"/>
32+
</after>
33+
34+
<!-- Open Category Page -->
35+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="openAdminCategoryIndexPage"/>
36+
<waitForPageLoad stepKey="waitForPageToLoaded"/>
37+
<click selector="{{AdminCategorySidebarTreeSection.expandAll}}" stepKey="clickExpandTree"/>
38+
<waitForPageLoad stepKey="waitForCategoryToLoad"/>
39+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(_defaultCategory.name)}}" stepKey="selectCategory"/>
40+
<waitForPageLoad stepKey="waitForPageToLoad"/>
41+
<!-- Create three level deep sub Category -->
42+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickAddSubCategoryButton"/>
43+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{FirstLevelSubCat.name}}" stepKey="fillSubCategoryName"/>
44+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="saveFirstLevelSubCategory"/>
45+
<waitForPageLoad stepKey="waitForFirstLevelCategoryToSave"/>
46+
<seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" stepKey="seeSuccessMessage"/>
47+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategoryButtonAgain"/>
48+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{SecondLevelSubCat.name}}" stepKey="fillSecondLevelSubCategoryName"/>
49+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="saveSecondLevelSubCategory"/>
50+
<waitForPageLoad stepKey="waitForSecondLevelCategoryToSave"/>
51+
<seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" stepKey="seeSaveSuccessMessage"/>
52+
<grabFromCurrentUrl stepKey="categoryId" regex="#\/([0-9]*)?\/$#" />
53+
54+
<!-- Move Category to another position in category tree, but click cancel button -->
55+
<dragAndDrop selector1="{{AdminCategorySidebarTreeSection.categoryInTree(SecondLevelSubCat.name)}}" selector2="{{AdminCategorySidebarTreeSection.categoryInTree('Default Category')}}" stepKey="moveCategory"/>
56+
<see selector="{{AdminCategoryModalSection.message}}" userInput="This operation can take a long time" stepKey="seeWarningMessage"/>
57+
<click selector="{{AdminCategoryModalSection.cancel}}" stepKey="clickCancelButtonOnWarningPopup"/>
58+
<!-- Verify Category in store front page after clicking cancel button -->
59+
<amOnPage url="/$$createDefaultCategory.name$$/{{FirstLevelSubCat.name}}/{{SecondLevelSubCat.name}}.html" stepKey="seeTheCategoryInStoreFrontPage"/>
60+
<waitForPageLoad stepKey="waitForStoreFrontPageLoad"/>
61+
<seeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(_defaultCategory.name)}}" stepKey="seeDefaultCategoryOnStoreNavigationBar"/>
62+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleSubCategory.name)}}" stepKey="dontSeeSubCategoryOnStoreNavigationBar"/>
63+
<!-- Verify breadcrumbs in store front page after clicking cancel button -->
64+
<grabMultiple selector="{{StorefrontNavigationSection.categoryBreadcrumbs}}" stepKey="breadcrumbs"/>
65+
<assertEquals stepKey="verifyTheCategoryInStoreFrontPage">
66+
<expectedResult type="array">['Home', $$createDefaultCategory.name$$,{{FirstLevelSubCat.name}},{{SecondLevelSubCat.name}}]</expectedResult>
67+
<actualResult type="variable">breadcrumbs</actualResult>
68+
</assertEquals>
69+
70+
<!-- Move Category to another position in category tree and click ok button-->
71+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="openTheAdminCategoryIndexPage"/>
72+
<waitForPageLoad stepKey="waitTillPageLoad"/>
73+
<click selector="{{AdminCategorySidebarTreeSection.expandAll}}" stepKey="clickOnExpandTree"/>
74+
<waitForPageLoad stepKey="waitForPageLoad"/>
75+
<dragAndDrop selector1="{{AdminCategorySidebarTreeSection.categoryInTree(SecondLevelSubCat.name)}}" selector2="{{AdminCategorySidebarTreeSection.categoryInTree('Default Category')}}" stepKey="DragCategory"/>
76+
<see selector="{{AdminCategoryModalSection.message}}" userInput="This operation can take a long time" stepKey="seeWarningMessageForOneMoreTime"/>
77+
<click selector="{{AdminCategoryModalSection.ok}}" stepKey="clickOkButtonOnWarningPopup"/>
78+
<waitForPageLoad stepKey="waitTheForPageToLoad"/>
79+
<see selector="{{AdminCategoryMessagesSection.SuccessMessage}}" userInput="You moved the category." stepKey="seeSuccessMoveMessage"/>
80+
<amOnPage url="/{{SimpleSubCategory.name}}.html" stepKey="seeCategoryNameInStoreFrontPage"/>
81+
<waitForPageLoad stepKey="waitForStoreFrontPageToLoad"/>
82+
<!-- Verify Category in store front after moving category to another position in category tree -->
83+
<amOnPage url="{{StorefrontCategoryPage.url(SecondLevelSubCat.name)}}" stepKey="amOnCategoryPage"/>
84+
<waitForPageLoad stepKey="waitForPageToBeLoaded"/>
85+
<seeElement selector="{{StorefrontCategoryMainSection.CategoryTitle(SecondLevelSubCat.name)}}" stepKey="seeCategoryInTitle"/>
86+
<seeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SecondLevelSubCat.name)}}" stepKey="seeCategoryOnStoreNavigationBarAfterMove"/>
87+
<!-- Verify breadcrumbs in store front page after moving category to another position in category tree -->
88+
<click selector="{{StorefrontHeaderSection.NavigationCategoryByName(SecondLevelSubCat.name)}}" stepKey="clickCategoryOnNavigation"/>
89+
<waitForPageLoad stepKey="waitForCategoryLoad"/>
90+
<grabMultiple selector="{{StorefrontNavigationSection.categoryBreadcrumbs}}" stepKey="breadcrumbsAfterMove"/>
91+
<assertEquals stepKey="verifyBreadcrumbsInFrontPageAfterMove">
92+
<expectedResult type="array">['Home',{{SecondLevelSubCat.name}}]</expectedResult>
93+
<actualResult type="variable">breadcrumbsAfterMove</actualResult>
94+
</assertEquals>
95+
96+
<!-- Open Url Rewrite page and see the url rewrite for the moved category -->
97+
<amOnPage url="{{AdminUrlRewriteIndexPage.url}}" stepKey="openUrlRewriteIndexPage"/>
98+
<waitForPageLoad stepKey="waitForUrlRewritePageLoad"/>
99+
<fillField selector="{{AdminUrlRewriteIndexSection.requestPathFilter}}" userInput="{{SecondLevelSubCat.name_lwr}}.html" stepKey="fillCategoryUrlKey"/>
100+
<click selector="{{AdminUrlRewriteIndexSection.searchButton}}" stepKey="clickOnSearchButton"/>
101+
<waitForPageLoad stepKey="waitForUrlPageToLoad"/>
102+
<!-- Verify new Redirect Path after move -->
103+
<see selector="{{AdminUrlRewriteIndexSection.requestPathColumn('2')}}" userInput="{{SecondLevelSubCat.name_lwr}}.html" stepKey="verifyTheRequestPathAfterMove"/>
104+
<!-- Verify new Target Path after move -->
105+
<see selector="{{AdminUrlRewriteIndexSection.targetPathColumn('2')}}" userInput="catalog/category/view/id/{$categoryId}" stepKey="verifyTheTargetPathAfterMove"/>
106+
<!-- Verify new RedirectType after move -->
107+
<see selector="{{AdminUrlRewriteIndexSection.redirectTypeColumn('2')}}" userInput="No" stepKey="verifyTheRedirectTypeAfterMove"/>
108+
<!-- Verify before move Redirect Path displayed with associated Target Path and Redirect Type-->
109+
<fillField selector="{{AdminUrlRewriteIndexSection.requestPathFilter}}" userInput="{{SecondLevelSubCat.name_lwr}}" stepKey="fillTheCategoryUrlKey"/>
110+
<click selector="{{AdminUrlRewriteIndexSection.searchButton}}" stepKey="clickOnSearchButton2"/>
111+
<waitForPageLoad stepKey="waitForSearch"/>
112+
<see selector="{{AdminUrlRewriteIndexSection.redirectTypeColumn('1')}}" userInput="Permanent (301)" stepKey="verifyTheRedirectTypeBeforeMove"/>
113+
<see selector="{{AdminUrlRewriteIndexSection.requestPathColumn('1')}}" userInput="{{_defaultCategory.name_lwr}}2/{{FirstLevelSubCat.name_lwr}}/{{SecondLevelSubCat.name_lwr}}.html" stepKey="verifyTheRequestPathBeforeMove"/>
114+
<see selector="{{AdminUrlRewriteIndexSection.targetPathColumn('1')}}" userInput="{{SecondLevelSubCat.name_lwr}}.html" stepKey="verifyTheTargetPathBeforeMove"/>
115+
</test>
116+
</tests>

0 commit comments

Comments
 (0)