Skip to content

Commit a51df0a

Browse files
committed
MC-4416: Convert CreateProductAttributeEntityTest to MFTF
- Added 3 variations - Added asserts to first variation
1 parent a18f3b6 commit a51df0a

8 files changed

+311
-3
lines changed

app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductAttributeActionGroup.xml

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,20 @@
4747
<seeElement selector="{{AdminProductMessagesSection.successMessage}}"
4848
stepKey="waitForSuccessMessage"/>
4949
</actionGroup>
50+
<!--Clicks Add Attribute and adds the given attribute-->
51+
<actionGroup name="addProductAttributeInProductModal">
52+
<arguments>
53+
<argument name="attributeCode" type="string"/>
54+
</arguments>
55+
<click stepKey="addAttribute" selector="{{AdminProductFormActionSection.addAttributeButton}}"/>
56+
<conditionalClick selector="{{AdminProductAddAttributeModalSection.clearFilters}}" dependentSelector="{{AdminProductAddAttributeModalSection.clearFilters}}" visible="true" stepKey="clearFilters"/>
57+
<click stepKey="clickFilters" selector="{{AdminProductAddAttributeModalSection.filters}}"/>
58+
<fillField stepKey="fillCode" selector="{{AdminProductAddAttributeModalSection.attributeCodeFilter}}" userInput="{{attributeCode}}"/>
59+
<click stepKey="clickApply" selector="{{AdminProductAddAttributeModalSection.applyFilters}}"/>
60+
<waitForPageLoad stepKey="waitForFilters"/>
61+
<checkOption selector="{{AdminProductAddAttributeModalSection.firstRowCheckBox}}" stepKey="checkAttribute"/>
62+
<click stepKey="addSelected" selector="{{AdminProductAddAttributeModalSection.addSelected}}"/>
63+
</actionGroup>
5064
<!--Clicks createNewAttribute and fills out form-->
5165
<actionGroup name="createProductAttribute">
5266
<arguments>
@@ -58,10 +72,35 @@
5872
<selectOption selector="{{AttributePropertiesSection.ValueRequired}}" stepKey="checkRequired" userInput="{{attribute.is_required_admin}}"/>
5973
<click stepKey="saveAttribute" selector="{{AttributePropertiesSection.Save}}"/>
6074
</actionGroup>
61-
<!-- Inputs default value and attribute code-->
75+
<!-- Inputs text default value and attribute code-->
6276
<actionGroup name="createProductAttributeWithTextField" extends="createProductAttribute" insertAfter="checkRequired">
6377
<click stepKey="openAdvancedProperties" selector="{{AdvancedAttributePropertiesSection.AdvancedAttributePropertiesSectionToggle}}"/>
6478
<fillField stepKey="fillCode" selector="{{AdvancedAttributePropertiesSection.AttributeCode}}" userInput="{{attribute.attribute_code}}"/>
6579
<fillField stepKey="fillDefaultValue" selector="{{AdvancedAttributePropertiesSection.DefaultValueText}}" userInput="{{attribute.default_value}}"/>
6680
</actionGroup>
81+
<!-- Inputs date default value and attribute code-->
82+
<actionGroup name="createProductAttributeWithDateField" extends="createProductAttribute" insertAfter="checkRequired">
83+
<arguments>
84+
<argument name="date" type="string"/>
85+
</arguments>
86+
<click stepKey="openAdvancedProperties" selector="{{AdvancedAttributePropertiesSection.AdvancedAttributePropertiesSectionToggle}}"/>
87+
<fillField stepKey="fillCode" selector="{{AdvancedAttributePropertiesSection.AttributeCode}}" userInput="{{attribute.attribute_code}}"/>
88+
<fillField stepKey="fillDefaultValue" selector="{{AdvancedAttributePropertiesSection.DefaultValueDate}}" userInput="{{date}}"/>
89+
</actionGroup>
90+
<!-- Creates dropdown option at row without saving-->
91+
<actionGroup name="createAttributeDropdownNthOption">
92+
<arguments>
93+
<argument name="row" type="string"/>
94+
<argument name="adminName" type="string"/>
95+
<argument name="frontName" type="string"/>
96+
</arguments>
97+
<click stepKey="clickAddOptions" selector="{{AttributePropertiesSection.dropdownAddOptions}}"/>
98+
<waitForPageLoad stepKey="waitForNewOption"/>
99+
<fillField stepKey="fillAdmin" selector="{{AttributePropertiesSection.dropdownNthOptionAdmin(row)}}" userInput="{{adminName}}"/>
100+
<fillField stepKey="fillStoreView" selector="{{AttributePropertiesSection.dropdownNthOptionDefaultStoreView(row)}}" userInput="{{frontName}}"/>
101+
</actionGroup>
102+
<!-- Creates dropdown option at row as default-->
103+
<actionGroup name="createAttributeDropdownNthOptionAsDefault" extends="createAttributeDropdownNthOption">
104+
<checkOption selector="{{AttributePropertiesSection.dropdownNthOptionIsDefault(row)}}" stepKey="setAsDefault" after="fillStoreView"/>
105+
</actionGroup>
67106
</actionGroups>

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,23 @@
120120
<data key="default_value" unique="suffix">defaultValue</data>
121121
<data key="is_required_admin">No</data>
122122
</entity>
123+
<entity name="dateProductAttribute" extends="productAttributeWysiwyg" type="ProductAttribute">
124+
<data key="frontend_input">date</data>
125+
<data key="is_required_admin">No</data>
126+
</entity>
127+
<entity name="priceProductAttribute" extends="productAttributeWysiwyg" type="ProductAttribute">
128+
<data key="frontend_input">date</data>
129+
<data key="is_required_admin">No</data>
130+
</entity>
131+
<entity name="dropdownProductAttribute" extends="productAttributeWysiwyg" type="ProductAttribute">
132+
<data key="frontend_input">select</data>
133+
<data key="frontend_input_admin">Dropdown</data>
134+
<data key="is_required_admin">No</data>
135+
<data key="option1_admin" unique="suffix">opt1Admin</data>
136+
<data key="option1_frontend" unique="suffix">opt1Front</data>
137+
<data key="option2_admin" unique="suffix">opt2Admin</data>
138+
<data key="option2_frontend" unique="suffix">opt2Front</data>
139+
<data key="option3_admin" unique="suffix">opt3Admin</data>
140+
<data key="option3_frontend" unique="suffix">opt3Front</data>
141+
</entity>
123142
</entities>

app/code/Magento/Catalog/Test/Mftf/Page/AdminProductCreatePage.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
<section name="AdminProductImagesSection"/>
1616
<section name="AdminAddProductsToOptionPanel"/>
1717
<section name="AdminProductMessagesSection"/>
18+
<section name="AdminProductAttributesSection"/>
1819
<section name="AdminProductFormRelatedUpSellCrossSellSection"/>
1920
<section name="AdminProductFormAdvancedPricingSection"/>
2021
<section name="AdminProductFormAdvancedInventorySection"/>
22+
<section name="AdminAddAttributeModalSection"/>
2123
</page>
2224
</pages>

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
<element name="checkIfTabOpen" selector="//div[@id='advanced_fieldset-wrapper' and not(contains(@class,'opened'))]" type="button"/>
2424
<element name="useInLayeredNavigation" type="select" selector="#is_filterable"/>
2525
<element name="addSwatch" type="button" selector="#add_new_swatch_text_option_button"/>
26+
<element name="dropdownAddOptions" type="button" selector="#add_new_option_button"/>
27+
<!-- Manage Options nth child-->
28+
<element name="dropdownNthOptionIsDefault" type="checkbox" selector="tbody[data-role='options-container'] tr:nth-child({{var}}) .input-radio" parameterized="true"/>
29+
<element name="dropdownNthOptionAdmin" type="textarea" selector="tbody[data-role='options-container'] tr:nth-child({{var}}) td:nth-child(3) input" parameterized="true"/>
30+
<element name="dropdownNthOptionDefaultStoreView" type="textarea" selector="tbody[data-role='options-container'] tr:nth-child({{var}}) td:nth-child(4) input" parameterized="true"/>
31+
<element name="dropdownNthOptionDelete" type="button" selector="tbody[data-role='options-container'] tr:nth-child({{var}}) button[title='Delete']" parameterized="true"/>
2632
</section>
2733
<section name="AttributeDeleteModalSection">
2834
<element name="confirm" type="button" selector=".modal-popup.confirm button.action-accept"/>
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminProductAddAttributeModalSection">
12+
<element name="addSelected" type="button" selector=".product_form_product_form_add_attribute_modal .page-main-actions button.action-primary" timeout="30"/>
13+
<element name="filters" type="button" selector=".product_form_product_form_add_attribute_modal button[data-action='grid-filter-expand']" timeout="30"/>
14+
<element name="attributeCodeFilter" type="textarea" selector=".product_form_product_form_add_attribute_modal input[name='attribute_code']"/>
15+
<element name="clearFilters" type="button" selector=".product_form_product_form_add_attribute_modal button.action-clear" timeout="30"/>
16+
<element name="firstRowCheckBox" type="input" selector=".product_form_product_form_add_attribute_modal .data-grid-checkbox-cell input"/>
17+
<element name="applyFilters" type="button" selector=".product_form_product_form_add_attribute_modal .admin__data-grid-filters-footer button.action-secondary" timeout="30"/>
18+
</section>
19+
</sections>
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+
9+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminProductAttributesSection">
12+
<element name="sectionHeader" type="button" selector="div[data-index='attributes']" timeout="30"/>
13+
<element name="attributeLabelByCode" type="text" selector="div[data-index='{{var}}'] .admin__field-label span" parameterized="true"/>
14+
<element name="attributeTextInputByCode" type="text" selector="div[data-index='{{var}}'] .admin__field-control input" parameterized="true"/>
15+
<element name="attributeDropdownByCode" type="text" selector="div[data-index='{{var}}'] .admin__field-control select" parameterized="true"/>
16+
</section>
17+
</sections>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminProductFormActionSection">
1212
<element name="backButton" type="button" selector="#back" timeout="30"/>
13+
<element name="addAttributeButton" type="button" selector="#addAttribute" timeout="30"/>
1314
<element name="saveButton" type="button" selector="#save-button" timeout="30"/>
1415
<element name="saveArrow" type="button" selector="button[data-ui-id='save-button-dropdown']" timeout="30"/>
1516
<element name="saveAndClose" type="button" selector="span[title='Save &amp; Close']" timeout="30"/>

0 commit comments

Comments
 (0)