Skip to content

Commit 69861e0

Browse files
committed
Merge remote-tracking branch 'origin/MC-11557' into 2.3-develop-pr75
# Conflicts: # app/code/Magento/Catalog/Test/Mftf/Data/CategoryData.xml
2 parents 40b510e + b644d61 commit 69861e0

12 files changed

+271
-3
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,8 @@
120120
<entity name="DefaultCategory" type="category">
121121
<data key="name">Default Category</data>
122122
</entity>
123+
<!-- Category from file "export_import_configurable_product.csv" -->
124+
<entity name="CategoryExportImport" extends="SimpleSubCategory" type="category">
125+
<data key="name">CategoryExportImport</data>
126+
</entity>
123127
</entities>

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,8 @@
2020
<data key="store_id">0</data>
2121
<data key="label" unique="suffix">attributeThree</data>
2222
</entity>
23+
<entity name="ProductAttributeFrontendLabelForExportImport" type="FrontendLabel">
24+
<data key="store_id">0</data>
25+
<data key="label">attributeExportImport</data>
26+
</entity>
2327
</entities>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@
1818
<data key="type">image/png</data>
1919
<data key="name" unique="prefix">magento-logo.png</data>
2020
</entity>
21+
<entity name="MagentoLogoImageContentExportImport" extends="MagentoLogoImageContent" type="ImageContent">
22+
<data key="name">magento-logo.png</data>
23+
</entity>
2124
</entities>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,4 +376,9 @@
376376
<data key="frontend_label">Size</data>
377377
<data key="attribute_code" unique="suffix">size_attr</data>
378378
</entity>
379+
<!-- Product attribute from file "export_import_configurable_product.csv" -->
380+
<entity name="ProductAttributeWithTwoOptionsForExportImport" extends="productAttributeDropdownTwoOptions" type="ProductAttribute">
381+
<data key="attribute_code">attribute</data>
382+
<requiredEntity type="FrontendLabel">ProductAttributeFrontendLabelForExportImport</requiredEntity>
383+
</entity>
379384
</entities>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,9 @@
3030
<data key="disabled">false</data>
3131
<requiredEntity type="ImageContent">MagentoLogoImageContent</requiredEntity>
3232
</entity>
33+
<!-- From file "export_import_configurable_product.csv" -->
34+
<entity name="ApiProductAttributeMediaGalleryForExportImport" extends="ApiProductAttributeMediaGalleryEntryTestImage" type="ProductAttributeMediaGalleryEntry">
35+
<data key="label">Magento Logo</data>
36+
<requiredEntity type="ImageContent">MagentoLogoImageContentExportImport</requiredEntity>
37+
</entity>
3338
</entities>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,11 @@
8686
<data key="label" unique="suffix">White</data>
8787
<data key="value" unique="suffix">white</data>
8888
</entity>
89+
<!-- Product attribute options from file "export_import_configurable_product.csv" -->
90+
<entity name="ProductAttributeOptionOneForExportImport" extends="productAttributeOption1" type="ProductAttributeOption">
91+
<data key="label">option1</data>
92+
</entity>
93+
<entity name="ProductAttributeOptionTwoForExportImport" extends="productAttributeOption2" type="ProductAttributeOption">
94+
<data key="label">option2</data>
95+
</entity>
8996
</entities>

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,11 @@
351351
<data key="filename">adobe-base</data>
352352
<data key="file_extension">jpg</data>
353353
</entity>
354+
<entity name="TestImage" extends="TestImageAdobe" type="image">
355+
<data key="title" unique="suffix">test_image</data>
356+
<data key="file">test_image.jpg</data>
357+
<data key="filename">test_image</data>
358+
</entity>
354359
<entity name="ProductWithUnicode" type="product">
355360
<data key="sku" unique="suffix">&#38657;&#20135;&#21697;</data>
356361
<data key="type_id">simple</data>
@@ -1170,6 +1175,15 @@
11701175
<requiredEntity type="product_extension_attribute">EavStock10</requiredEntity>
11711176
<requiredEntity type="custom_attribute">CustomAttributeProductAttribute</requiredEntity>
11721177
</entity>
1178+
<!-- Products from file "export_import_configurable_product.csv" -->
1179+
<entity name="ApiSimpleOneExportImport" extends="ApiSimpleOne" type="product2">
1180+
<data key="sku">api-simple-one-export-import</data>
1181+
<data key="name">Api Simple Product One Export Import</data>
1182+
</entity>
1183+
<entity name="ApiSimpleTwoExportImport" extends="ApiSimpleTwo" type="product2">
1184+
<data key="sku">api-simple-two-export-import</data>
1185+
<data key="name">Api Simple Product Two Export Import</data>
1186+
</entity>
11731187
<entity name="SimpleProductPrice10Qty1" type="product">
11741188
<data key="sku" unique="suffix">simple-product_</data>
11751189
<data key="type_id">simple</data>

app/code/Magento/Catalog/Test/Mftf/Test/AdminMassProductPriceUpdateTest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
1111
<test name="AdminMassProductPriceUpdateTest">
1212
<annotations>
13-
<stories value="Mass product update "/>
13+
<stories value="Mass product update"/>
1414
<features value="Catalog"/>
1515
<title value="Mass update simple product price"/>
1616
<description value="Login as admin and update mass product price"/>
@@ -24,8 +24,8 @@
2424
<createData entity="defaultSimpleProduct" stepKey="simpleProduct2"/>
2525
</before>
2626
<after>
27-
<deleteData createDataKey="simpleProduct1" stepKey="deleteSimpleProduct1"/>
28-
<deleteData createDataKey="simpleProduct2" stepKey="deleteSimpleProduct2"/>
27+
<deleteData createDataKey="simpleProduct1" stepKey="deleteSimpleProduct1"/>
28+
<deleteData createDataKey="simpleProduct2" stepKey="deleteSimpleProduct2"/>
2929
<actionGroup ref="logout" stepKey="logout"/>
3030
</after>
3131

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
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="AdminExportImportConfigurableProductWithImagesTest">
12+
<annotations>
13+
<features value="ConfigurableProduct"/>
14+
<stories value="Export/Import products"/>
15+
<title value="Check importing of configurable products with images present in filesystem"/>
16+
<description value="Check importing of configurable products with images present in filesystem"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-11557"/>
19+
<group value="configurable_product"/>
20+
</annotations>
21+
<before>
22+
<!-- Create sample data:
23+
1. Create simple products -->
24+
<createData entity="ApiCategory" stepKey="createCategory"/>
25+
<createData entity="SimpleProduct2" stepKey="createFirstSimpleProduct"/>
26+
<createData entity="SimpleProduct2" stepKey="createSecondSimpleProduct"/>
27+
28+
<!-- 2. Create Downloadable product -->
29+
<createData entity="ApiDownloadableProduct" stepKey="createDownloadableProduct"/>
30+
<createData entity="ApiDownloadableLink" stepKey="addFirstDownloadableLink">
31+
<requiredEntity createDataKey="createDownloadableProduct"/>
32+
</createData>
33+
<createData entity="ApiDownloadableLink" stepKey="addSecondDownloadableLink">
34+
<requiredEntity createDataKey="createDownloadableProduct"/>
35+
</createData>
36+
37+
<!-- 3. Create Grouped product -->
38+
<createData entity="ApiGroupedProduct" stepKey="createGroupedProduct"/>
39+
<createData entity="OneSimpleProductLink" stepKey="addProductOne">
40+
<requiredEntity createDataKey="createGroupedProduct"/>
41+
<requiredEntity createDataKey="createFirstSimpleProduct"/>
42+
</createData>
43+
44+
<!-- 4. Create configurable product with images -->
45+
<createData entity="CategoryExportImport" stepKey="createExportImportCategory"/>
46+
<createData entity="ApiConfigurableExportImportProduct" stepKey="createExportImportConfigurableProduct">
47+
<requiredEntity createDataKey="createExportImportCategory"/>
48+
</createData>
49+
<createData entity="ApiProductAttributeMediaGalleryForExportImport" stepKey="createConfigurableProductWithImage">
50+
<requiredEntity createDataKey="createExportImportConfigurableProduct"/>
51+
</createData>
52+
<createData entity="ProductAttributeWithTwoOptionsForExportImport" stepKey="createExportImportConfigurableProductAttribute"/>
53+
<createData entity="ProductAttributeOptionOneForExportImport" stepKey="createExportImportConfigurableProductAttributeFirstOption">
54+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
55+
</createData>
56+
<createData entity="ProductAttributeOptionTwoForExportImport" stepKey="createExportImportConfigurableProductAttributeSecondOption">
57+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
58+
</createData>
59+
<createData entity="AddToDefaultSet" stepKey="createConfigAddToAttributeSet">
60+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
61+
</createData>
62+
<getData entity="ProductAttributeOptionGetter" index="1" stepKey="getConfigAttributeFirstOption">
63+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
64+
</getData>
65+
<getData entity="ProductAttributeOptionGetter" index="2" stepKey="getConfigAttributeSecondOption">
66+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
67+
</getData>
68+
<createData entity="ApiSimpleOneExportImport" stepKey="createConfigFirstChildProduct">
69+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
70+
<requiredEntity createDataKey="getConfigAttributeFirstOption"/>
71+
</createData>
72+
<createData entity="ApiProductAttributeMediaGalleryForExportImport" stepKey="addImageForFirstSimpleProduct">
73+
<requiredEntity createDataKey="createConfigFirstChildProduct"/>
74+
</createData>
75+
<createData entity="ApiSimpleTwoExportImport" stepKey="createConfigSecondChildProduct">
76+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
77+
<requiredEntity createDataKey="getConfigAttributeSecondOption"/>
78+
</createData>
79+
<createData entity="ApiProductAttributeMediaGalleryEntryTestImage" stepKey="addImageForSecondSimpleProduct">
80+
<requiredEntity createDataKey="createConfigSecondChildProduct"/>
81+
</createData>
82+
<createData entity="ConfigurableProductTwoOptions" stepKey="createExportImportConfigurableProductTwoOption">
83+
<requiredEntity createDataKey="createExportImportConfigurableProduct"/>
84+
<requiredEntity createDataKey="createExportImportConfigurableProductAttribute"/>
85+
<requiredEntity createDataKey="getConfigAttributeFirstOption"/>
86+
<requiredEntity createDataKey="getConfigAttributeSecondOption"/>
87+
</createData>
88+
<createData entity="ConfigurableProductAddChild" stepKey="addFirstExportImportConfigurableProductChild">
89+
<requiredEntity createDataKey="createExportImportConfigurableProduct"/>
90+
<requiredEntity createDataKey="createConfigFirstChildProduct"/>
91+
</createData>
92+
<createData entity="ConfigurableProductAddChild" stepKey="addSecondExportImportConfigurableProductChild">
93+
<requiredEntity createDataKey="createExportImportConfigurableProduct"/>
94+
<requiredEntity createDataKey="createConfigSecondChildProduct"/>
95+
</createData>
96+
97+
<!-- 5. Create configurable product -->
98+
<createData entity="ApiConfigurableProduct" stepKey="createConfigurableProduct">
99+
<requiredEntity createDataKey="createCategory"/>
100+
</createData>
101+
<createData entity="productAttributeWithTwoOptions" stepKey="createConfigProductAttr"/>
102+
<createData entity="productAttributeOption1" stepKey="createConfigProductAttributeOption">
103+
<requiredEntity createDataKey="createConfigProductAttr"/>
104+
</createData>
105+
<createData entity="AddToDefaultSet" stepKey="createConfigAddToAttrSet">
106+
<requiredEntity createDataKey="createConfigProductAttr"/>
107+
</createData>
108+
<getData entity="ProductAttributeOptionGetter" index="1" stepKey="getConfigAttributeOption">
109+
<requiredEntity createDataKey="createConfigProductAttr"/>
110+
</getData>
111+
<createData entity="ApiSimpleOne" stepKey="createConfigChildProduct">
112+
<requiredEntity createDataKey="createConfigProductAttr"/>
113+
<requiredEntity createDataKey="getConfigAttributeOption"/>
114+
<requiredEntity createDataKey="createCategory"/>
115+
</createData>
116+
<createData entity="ConfigurableProductTwoOptions" stepKey="createConfigProductOption">
117+
<requiredEntity createDataKey="createConfigurableProduct"/>
118+
<requiredEntity createDataKey="createConfigProductAttr"/>
119+
<requiredEntity createDataKey="getConfigAttributeOption"/>
120+
</createData>
121+
<createData entity="ConfigurableProductAddChild" stepKey="addConfigurableProductChild">
122+
<requiredEntity createDataKey="createConfigurableProduct"/>
123+
<requiredEntity createDataKey="createConfigChildProduct"/>
124+
</createData>
125+
126+
<!-- Login as admin -->
127+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
128+
<actionGroup ref="deleteAllExportedFiles" stepKey="clearExportedFilesList"/>
129+
</before>
130+
<after>
131+
<!-- Delete created data -->
132+
<deleteData createDataKey="createFirstSimpleProduct" stepKey="deleteFisrtSimpleProduct"/>
133+
<deleteData createDataKey="createSecondSimpleProduct" stepKey="deleteSecondSimpleProduct"/>
134+
<deleteData createDataKey="createDownloadableProduct" stepKey="deleteDownloadableProduct"/>
135+
<deleteData createDataKey="createGroupedProduct" stepKey="deleteGroupedProduct"/>
136+
<deleteData createDataKey="createExportImportConfigurableProduct" stepKey="deleteConfigProduct"/>
137+
<deleteData createDataKey="createConfigFirstChildProduct" stepKey="deleteConfigFirstChildProduct"/>
138+
<deleteData createDataKey="createConfigSecondChildProduct" stepKey="deleteConfigSecondChildProduct"/>
139+
<deleteData createDataKey="createExportImportConfigurableProductAttribute" stepKey="deleteConfigProductAttribute"/>
140+
<deleteData createDataKey="createConfigurableProduct" stepKey="deleteConfigurableProduct"/>
141+
<deleteData createDataKey="createConfigChildProduct" stepKey="deleteConfigChildProduct"/>
142+
<deleteData createDataKey="createConfigProductAttr" stepKey="deleteConfigProductAttr"/>
143+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
144+
<deleteData createDataKey="createExportImportCategory" stepKey="deleteExportImportCategory"/>
145+
146+
<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="navigateToProductIndex"/>
147+
<actionGroup ref="resetProductGridToDefaultView" stepKey="resetProductGridColumnsInitial"/>
148+
<!-- Admin logout-->
149+
<actionGroup ref="logout" stepKey="adminLogout"/>
150+
</after>
151+
152+
<!-- Go to System > Export -->
153+
<amOnPage url="{{AdminExportIndexPage.url}}" stepKey="goToExportIndexPage"/>
154+
155+
<!-- Set Export Settings: Entity Type > Products, SKU > ConfProd's sku and press "Continue" -->
156+
<actionGroup ref="exportProductsFilterByAttribute" stepKey="exportProductBySku">
157+
<argument name="attribute" value="sku"/>
158+
<argument name="attributeData" value="$$createExportImportConfigurableProduct.sku$$"/>
159+
</actionGroup>
160+
161+
<!-- Run cron twice -->
162+
<magentoCLI command="cron:run" stepKey="runCronFirstTime"/>
163+
<magentoCLI command="cron:run" stepKey="runCronSecondTime"/>
164+
165+
<!-- Save exported file: file successfully downloaded -->
166+
<actionGroup ref="downloadFileByRowIndex" stepKey="downloadCreatedProducts">
167+
<argument name="rowIndex" value="0"/>
168+
</actionGroup>
169+
170+
<!-- Go to Catalog > Products. Find ConfProd and delete it -->
171+
<actionGroup ref="deleteProductBySku" stepKey="deleteConfigurableProductBySku">
172+
<argument name="sku" value="$$createExportImportConfigurableProduct.sku$$"/>
173+
</actionGroup>
174+
175+
<!-- Go to System > Import. Set import settings: Entity Type > Product, Import Behavior > Add/Update,
176+
Select File to Import > previously exported file and press "Check Data" -->
177+
<actionGroup ref="AdminImportProductsActionGroup" stepKey="adminImportProduct">
178+
<argument name="behavior" value="Add/Update"/>
179+
<argument name="importFile" value="export_import_configurable_product.csv"/>
180+
<argument name="importMessage" value="Created: 1, Updated: 0, Deleted: 0"/>
181+
</actionGroup>
182+
183+
<!-- Go to Catalog > Products: Configurable product exists -->
184+
<actionGroup ref="filterAndSelectProduct" stepKey="openConfigurableProduct">
185+
<argument name="productSku" value="$$createExportImportConfigurableProduct.sku$$"/>
186+
</actionGroup>
187+
188+
<!-- Go to "Configurations" section: configurations exist and have images -->
189+
<seeNumberOfElements selector="{{AdminProductFormConfigurationsSection.currentVariationsRows}}" userInput="2" stepKey="seeNumberOfRows"/>
190+
<see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="$$createConfigFirstChildProduct.name$$" stepKey="seeFirstProductNameInField"/>
191+
<see selector="{{AdminProductFormConfigurationsSection.currentVariationsNameCells}}" userInput="$$createConfigSecondChildProduct.name$$" stepKey="seeSecondProductNameInField"/>
192+
<see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="$$createConfigFirstChildProduct.sku$$" stepKey="seeFirstProductSkuInField"/>
193+
<see selector="{{AdminProductFormConfigurationsSection.currentVariationsSkuCells}}" userInput="$$createConfigSecondChildProduct.sku$$" stepKey="seeSecondProductSkuInField"/>
194+
<see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="$$createConfigFirstChildProduct.price$$" stepKey="seeFirstProductPriceInField"/>
195+
<see selector="{{AdminProductFormConfigurationsSection.currentVariationsPriceCells}}" userInput="$$createConfigSecondChildProduct.price$$" stepKey="seeSecondProductPriceInField"/>
196+
<seeElement selector="{{AdminProductFormConfigurationsSection.variationImageSource(MagentoLogo.fileName)}}" stepKey="seeFirstProductImageInField"/>
197+
<seeElement selector="{{AdminProductFormConfigurationsSection.variationImageSource(TestImage.fileName)}}" stepKey="seeSecondProductImageInField"/>
198+
199+
<!-- Go to "Images and Videos" section: assert image -->
200+
<scrollTo selector="{{AdminProductFormConfigurationsSection.sectionHeader}}" stepKey="scrollToProductGalleryTab"/>
201+
<actionGroup ref="assertProductImageAdminProductPage" stepKey="assertProductImageAdminProductPage">
202+
<argument name="image" value="MagentoLogo"/>
203+
</actionGroup>
204+
205+
<!-- Go to any ConfProd's configuration page: Product page open successfully -->
206+
<click selector="{{AdminProductFormConfigurationsSection.variationProductLinkByName($$createConfigFirstChildProduct.name$$)}}" stepKey="clickOnFirstProductLink"/>
207+
<switchToNextTab stepKey="switchToConfigChildProductPage"/>
208+
<waitForPageLoad stepKey="waitForProductPageLoad"/>
209+
<!-- Go to "Images and Videos" section: assert image -->
210+
<scrollTo selector="{{AdminProductFormConfigurationsSection.sectionHeader}}" stepKey="scrollToChildProductGalleryTab"/>
211+
<actionGroup ref="assertProductImageAdminProductPage" stepKey="assertChildProductImageAdminProductPage">
212+
<argument name="image" value="MagentoLogo"/>
213+
</actionGroup>
214+
<closeTab stepKey="closeConfigChildProductPage"/>
215+
</test>
216+
</tests>

0 commit comments

Comments
 (0)