Skip to content

Commit 31f55cb

Browse files
committed
Merge remote-tracking branch 'origin/ACP2E-295' into L3_Arrows_PR_20220301
2 parents a6bde97 + d46da95 commit 31f55cb

File tree

4 files changed

+133
-10
lines changed

4 files changed

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