Skip to content

Commit f9f1163

Browse files
committed
Merge remote-tracking branch 'origin/ACP2E-295' into L3_Arrows_PR_20220406
2 parents b2369a9 + 5fb9088 commit f9f1163

File tree

4 files changed

+132
-10
lines changed

4 files changed

+132
-10
lines changed

app/code/Magento/Swatches/Test/Mftf/Data/SwatchProductAttributeFrontendLabelData.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@
1212
<data key="store_id">0</data>
1313
<data key="label" unique="suffix">Swatch-Attribute-</data>
1414
</entity>
15+
<entity name="SwatchProductSizeAttribute" type="FrontendLabel">
16+
<data key="frontend_label">Set Size</data>
17+
<data key="attribute_code">set_size</data>
18+
</entity>
1519
</entities>
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
8+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="StorefrontConfigurableOptionsImportSameBaseImageTest">
11+
<annotations>
12+
<features value="Swatches"/>
13+
<stories value="Configurable product import same base image"/>
14+
<title value="Check thumbnail images for Configurable Product with same base image from Import option"/>
15+
<description value="Login as admin, create attribute with three options, configurable product with three
16+
associated simple products. Add few images for products, check the fotorama thumbnail images
17+
(visible and active) for each selected option for the configurable product"/>
18+
<severity value="MAJOR"/>
19+
<group value="swatches"/>
20+
</annotations>
21+
<before>
22+
<!-- Login as Admin -->
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin1"/>
24+
25+
<helper class="Magento\Catalog\Test\Mftf\Helper\LocalFileAssertions" method="createDirectory" stepKey="createDirectoryForImportImages">
26+
<argument name="path">var/import/images/{{ImportProduct_Configurable.name}}</argument>
27+
</helper>
28+
<helper class="Magento\Catalog\Test\Mftf\Helper\LocalFileAssertions" method="copy" stepKey="copyBaseImage">
29+
<argument name="source">dev/tests/acceptance/tests/_data/{{ImportProductSimple3_Configurable.baseImage}}</argument>
30+
<argument name="destination">var/import/images/{{ImportProduct_Configurable.name}}/{{ImportProductSimple3_Configurable.baseImage}}</argument>
31+
</helper>
32+
<helper class="Magento\Catalog\Test\Mftf\Helper\LocalFileAssertions" method="copy" stepKey="copyProduct1BaseImage">
33+
<argument name="source">dev/tests/acceptance/tests/_data/{{ImportProductSimple2_Configurable.baseImage}}</argument>
34+
<argument name="destination">var/import/images/{{ImportProduct_Configurable.name}}/{{ImportProductSimple2_Configurable.baseImage}}</argument>
35+
</helper>
36+
<helper class="Magento\Catalog\Test\Mftf\Helper\LocalFileAssertions" method="copy" stepKey="copyProduct2BaseImage">
37+
<argument name="source">dev/tests/acceptance/tests/_data/{{ImportProductSimple1_Configurable.baseImage}}</argument>
38+
<argument name="destination">var/import/images/{{ImportProduct_Configurable.name}}/{{ImportProductSimple1_Configurable.baseImage}}</argument>
39+
</helper>
40+
</before>
41+
<after>
42+
<helper class="Magento\Catalog\Test\Mftf\Helper\LocalFileAssertions" method="deleteDirectory" stepKey="deleteProductImageDirectory">
43+
<argument name="path">var/import/images/{{ImportProduct_Configurable.name}}</argument>
44+
</helper>
45+
<actionGroup ref="DeleteProductBySkuActionGroup" stepKey="deleteConfigurableProduct">
46+
<argument name="sku" value="import-product-configurable"/>
47+
</actionGroup>
48+
<actionGroup ref="DeleteProductBySkuActionGroup" stepKey="deleteConfigurableProduct2">
49+
<argument name="sku" value="import-product-simple1-configurable"/>
50+
</actionGroup>
51+
<actionGroup ref="DeleteProductBySkuActionGroup" stepKey="deleteConfigurableProduct3">
52+
<argument name="sku" value="import-product-simple2-configurable"/>
53+
</actionGroup>
54+
<actionGroup ref="DeleteProductBySkuActionGroup" stepKey="deleteConfigurableProduct4">
55+
<argument name="sku" value="import-product-simple3-configurable"/>
56+
</actionGroup>
57+
<actionGroup ref="AdminDeleteProductAttributeByLabelActionGroup" stepKey="deleteAttribute">
58+
<argument name="productAttributeLabel" value="Set Size" />
59+
</actionGroup>
60+
<!-- Logout -->
61+
<actionGroup ref="AdminLogoutActionGroup" stepKey="amOnLogoutPage"/>
62+
</after>
63+
<!--Create text swatch attribute with 3 options: 4, 24 and 30-->
64+
<actionGroup ref="AddTextSwatchToProductActionGroup" stepKey="addSizeAttribute">
65+
<argument name="attributeName" value="{{SwatchProductSizeAttribute.frontend_label}}"/>
66+
<argument name="attributeCode" value="{{SwatchProductSizeAttribute.attribute_code}}"/>
67+
<argument name="option1" value="4"/>
68+
<argument name="option2" value="24"/>
69+
<argument name="option3" value="30"/>
70+
</actionGroup>
71+
72+
<!-- Go to created attribute (attribute page) -->
73+
<actionGroup ref="NavigateToEditProductAttributeActionGroup" stepKey="navigateToSkuProductAttribute">
74+
<argument name="ProductAttribute" value="{{SwatchProductSizeAttribute.frontend_label}}"/>
75+
</actionGroup>
76+
<!-- Set 'yes' value for option "Update Product Preview Image" -->
77+
<actionGroup ref="AdminUpdateProductPreviewImageActionGroup" stepKey="setUpdateProductPreviewImage" after="navigateToSkuProductAttribute"/>
78+
<!-- Save Product Attribute -->
79+
<actionGroup ref="SaveProductAttributeActionGroup" stepKey="saveAttribute" after="setUpdateProductPreviewImage"/>
80+
81+
<actionGroup ref="AdminOpenAttributeSetGridPageActionGroup" stepKey="openAttributeSetPage"/>
82+
83+
<!-- From grid, click on attribute set Default -->
84+
<actionGroup ref="AdminOpenAttributeSetByNameActionGroup" stepKey="openDefaultAttributeSet"/>
85+
86+
<!-- Add Product Attribute to Default attribute by dragging and dropping this to the 'Project Details' folder. Then Save. -->
87+
<actionGroup ref="AssignAttributeToGroupActionGroup" stepKey="assignAttributeToGroup">
88+
<argument name="group" value="Product Details"/>
89+
<argument name="attribute" value="{{SwatchProductSizeAttribute.attribute_code}}"/>
90+
</actionGroup>
91+
<actionGroup ref="SaveAttributeSetActionGroup" stepKey="saveAttributeSet"/>
92+
93+
<actionGroup ref="AdminImportProductsWithCustomImagesDirectoryActionGroup" stepKey="adminImportProduct">
94+
<argument name="behavior" value="Add/Update"/>
95+
<argument name="importFile" value="import_configurable_product_same_images.csv"/>
96+
<argument name="imagesFileDirectory" value="{{ImportProduct_Configurable.name}}"/>
97+
</actionGroup>
98+
<waitForPageLoad time="30" stepKey="waitForSaveImportProduct"/>
99+
100+
<!-- Open the configurable product page on storefront -->
101+
<actionGroup ref="OpenStoreFrontProductPageActionGroup" stepKey="goToProductPage">
102+
<argument name="productUrlKey" value="{{ImportProduct_Configurable.name}}"/>
103+
</actionGroup>
104+
<!-- Select first option -->
105+
<actionGroup ref="StorefrontSelectSwatchOptionOnProductPageActionGroup" stepKey="selectFirstOptionValue">
106+
<argument name="optionName" value="4"/>
107+
</actionGroup>
108+
<seeElement selector="{{StorefrontProductMediaSection.productImageInFotorama(ImportProductSimple3_Configurable.baseImage)}}" stepKey="seeFirstImageInRibbon"/>
109+
<!-- Select second option -->
110+
<actionGroup ref="StorefrontSelectSwatchOptionOnProductPageActionGroup" stepKey="selectSecondOptionValue">
111+
<argument name="optionName" value="24"/>
112+
</actionGroup>
113+
<!-- Select third option -->
114+
<actionGroup ref="StorefrontSelectSwatchOptionOnProductPageActionGroup" stepKey="selectThirdOptionValue">
115+
<argument name="optionName" value="30"/>
116+
</actionGroup>
117+
</test>
118+
</tests>

app/code/Magento/Swatches/view/base/web/js/swatch-renderer.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,17 +1247,12 @@ define([
12471247
* @param {Array} images
12481248
*/
12491249
_setImageType: function (images) {
1250-
var initial = this.options.mediaGalleryInitial[0].img;
12511250

1252-
if (images[0].img === initial) {
1253-
images = $.extend(true, [], this.options.mediaGalleryInitial);
1254-
} else {
1255-
images.map(function (img) {
1256-
if (!img.type) {
1257-
img.type = 'image';
1258-
}
1259-
});
1260-
}
1251+
images.map(function (img) {
1252+
if (!img.type) {
1253+
img.type = 'image';
1254+
}
1255+
});
12611256

12621257
return images;
12631258
},
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
sku,store_view_code,attribute_set_code,product_type,categories,product_websites,name,description,short_description,weight,product_online,tax_class_name,visibility,price,special_price,special_price_from_date,special_price_to_date,url_key,meta_title,meta_keywords,meta_description,base_image,base_image_label,small_image,small_image_label,thumbnail_image,thumbnail_image_label,swatch_image,swatch_image_label,created_at,updated_at,new_from_date,new_to_date,display_product_options_in,map_price,msrp_price,map_enabled,gift_message_available,custom_design,custom_design_from,custom_design_to,custom_layout_update,page_layout,product_options_container,msrp_display_actual_price_type,country_of_manufacture,additional_attributes,qty,out_of_stock_qty,use_config_min_qty,is_qty_decimal,allow_backorders,use_config_backorders,min_cart_qty,use_config_min_sale_qty,max_cart_qty,use_config_max_sale_qty,is_in_stock,notify_on_stock_below,use_config_notify_stock_qty,manage_stock,use_config_manage_stock,use_config_qty_increments,qty_increments,use_config_enable_qty_inc,enable_qty_increments,is_decimal_divided,website_id,deferred_stock_update,use_config_deferred_stock_update,related_skus,related_position,crosssell_skus,crosssell_position,upsell_skus,upsell_position,additional_images,additional_image_labels,hide_from_product_page,custom_options,bundle_price_type,bundle_sku_type,bundle_price_view,bundle_weight_type,bundle_values,bundle_shipment_type,associated_skus,downloadable_links,downloadable_samples,configurable_variations,configurable_variation_labels
2+
import-product-simple1-configurable,,Default,simple,,base,import-product-simple1-configurable,,,1,1,Taxable Goods,Search,11,,,,import-product-simple1-configurable,,,,magento-logo.png,Magento Logo,magento-logo.png,Magento Logo,magento-logo.png,Magento Logo,,,"10/5/20, 4:58 PM","10/5/20, 4:58 PM",,,Block after Info Column,,,,No,,,,,,,Use config,China,set_size=24,101,0,1,0,0,1,1,1,10000,1,1,1,1,1,1,1,1,1,0,0,0,0,1,,,,,,,"magento-logo.png,m-logo.gif,adobe-base.jpg",,,,,,,,,,,,,,
3+
import-product-simple2-configurable,,Default,simple,,base,import-product-simple2-configurable,,,2,1,Taxable Goods,Search,12,,,,import-product-simple2-configurable,,,,m-logo.gif,M Logo,m-logo.gif,M Logo,m-logo.gif,M Logo,,,"10/5/20, 4:58 PM","10/5/20, 4:58 PM",,,Block after Info Column,,,,No,,,,,,,Use config,China,set_size=30,102,0,1,0,0,1,1,1,10000,1,1,1,1,1,1,1,1,1,0,0,0,0,1,,,,,,,"m-logo.gif,adobe-base.jpg,magento-logo.png",,,,,,,,,,,,,,
4+
import-product-simple3-configurable,,Default,simple,,base,import-product-simple3-configurable,,,3,1,Taxable Goods,Search,13,,,,import-product-simple3-configurable,,,,adobe-base.jpg,Adobe Base,adobe-base.jpg,Adobe Base,adobe-base.jpg,Adobe Base,,,"10/5/20, 4:58 PM","10/5/20, 4:58 PM",,,Block after Info Column,,,,No,,,,,,,Use config,China,set_size=4,103,0,1,0,0,1,1,1,10000,1,1,1,1,1,1,1,1,1,0,0,0,0,1,,,,,,,"adobe-base.jpg,m-logo.gif,magento-logo.png",,,,,,,,,,,,,,
5+
import-product-configurable,,Default,configurable,Default Category,base,import-product-configurable,,,,1,Taxable Goods,"Catalog, Search",,,,,import-product-configurable,,,,adobe-base.jpg,Adobe Base,adobe-base.jpg,Adobe Base,adobe-base.jpg,Adobe Base,,,"10/5/20, 4:58 PM","10/5/20, 4:58 PM",,,Block after Info Column,,,,No,,,,,,,Use config,China,,,0,1,0,0,1,1,1,10000,1,1,1,1,1,1,1,1,1,0,0,0,0,1,,,,,,,adobe-base.jpg,,,,,,,,,,,,,"sku=import-product-simple1-configurable,set_size=24|sku=import-product-simple2-configurable,set_size=30|sku=import-product-simple3-configurable,set_size=4",set_size=Set Size

0 commit comments

Comments
 (0)