From 2765164f13afc40279a474a2f255a84ae3d2bf47 Mon Sep 17 00:00:00 2001 From: Sathish Date: Wed, 15 Jul 2020 09:39:45 +0530 Subject: [PATCH 1/5] Fix #28270 Showed tier price for pre selected config swatch via cart --- app/code/Magento/Swatches/view/base/web/js/swatch-renderer.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Swatches/view/base/web/js/swatch-renderer.js b/app/code/Magento/Swatches/view/base/web/js/swatch-renderer.js index ad5926d451e88..84389083447ae 100644 --- a/app/code/Magento/Swatches/view/base/web/js/swatch-renderer.js +++ b/app/code/Magento/Swatches/view/base/web/js/swatch-renderer.js @@ -311,6 +311,7 @@ define([ if ($(this.element).attr('data-rendered')) { return; } + $(this.element).attr('data-rendered', true); if (_.isEmpty(this.options.jsonConfig.images)) { @@ -320,6 +321,8 @@ define([ this._debouncedLoadProductMedia = _.debounce(this._LoadProductMedia.bind(this), 500); } + this.options.tierPriceTemplate = $(this.options.tierPriceTemplateSelector).html(); + if (this.options.jsonConfig !== '' && this.options.jsonSwatchConfig !== '') { // store unsorted attributes this.options.jsonConfig.mappedAttributes = _.clone(this.options.jsonConfig.attributes); @@ -330,7 +333,6 @@ define([ } else { console.log('SwatchRenderer: No input data received'); } - this.options.tierPriceTemplate = $(this.options.tierPriceTemplateSelector).html(); }, /** From c5e4aa5acfcdfb37a950c338bae970831ee67ab4 Mon Sep 17 00:00:00 2001 From: Alexander Steshuk Date: Mon, 20 Jul 2020 14:09:35 +0300 Subject: [PATCH 2/5] MFTF test. --- ...rtItemEditParametersProductActionGroup.xml | 18 +++ ...SwatchesTextOptionToTheCartActionGroup.xml | 31 +++++ ...oductSwatchUpdateCartItemTierPriceTest.xml | 113 ++++++++++++++++++ 3 files changed, 162 insertions(+) create mode 100644 app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml create mode 100644 app/code/Magento/Swatches/Test/Mftf/ActionGroup/StorefrontAddProductWithSwatchesTextOptionToTheCartActionGroup.xml create mode 100644 app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml new file mode 100644 index 0000000000000..17a13ab7a9a12 --- /dev/null +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git a/app/code/Magento/Swatches/Test/Mftf/ActionGroup/StorefrontAddProductWithSwatchesTextOptionToTheCartActionGroup.xml b/app/code/Magento/Swatches/Test/Mftf/ActionGroup/StorefrontAddProductWithSwatchesTextOptionToTheCartActionGroup.xml new file mode 100644 index 0000000000000..cc1b8fc4249bf --- /dev/null +++ b/app/code/Magento/Swatches/Test/Mftf/ActionGroup/StorefrontAddProductWithSwatchesTextOptionToTheCartActionGroup.xml @@ -0,0 +1,31 @@ + + + + + + + + Select Product product option. Fills in the provided Product Quantity. Clicks on Add To Cart. Validates that the Success Message is present. + + + + + + + + + + + + + + + + + diff --git a/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml b/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml new file mode 100644 index 0000000000000..ca68fcf329796 --- /dev/null +++ b/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml @@ -0,0 +1,113 @@ + + + + + + + + + <description value="Configurable product with swatch attribute should show the tier price on product page when added Cart Item."/> + <severity value="CRITICAL"/> + <group value="Swatches"/> + </annotations> + <before> + <createData entity="ApiCategory" stepKey="createCategory"/> + <createData entity="ApiConfigurableProduct" stepKey="createConfigurableProduct"> + <requiredEntity createDataKey="createCategory"/> + </createData> + <actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/> + </before> + <after> + <deleteData createDataKey="createConfigurableProduct" stepKey="deleteConfigurableProduct"/> + <deleteData createDataKey="createCategory" stepKey="deleteCategory"/> + <actionGroup ref="DeleteProductAttributeActionGroup" stepKey="deleteColorAttribute"> + <argument name="ProductAttribute" value="ProductColorAttribute"/> + </actionGroup> + <actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/> + </after> + + <actionGroup ref="AddTextSwatchToProductActionGroup" stepKey="addColorAttribute"> + <argument name="attributeName" value="{{ProductColorAttribute.frontend_label}}"/> + <argument name="attributeCode" value="{{ProductColorAttribute.attribute_code}}"/> + <argument name="option1" value="Black"/> + <argument name="option2" value="White"/> + <argument name="option3" value="Blue"/> + </actionGroup> + + <amOnPage url="{{AdminProductEditPage.url($createConfigurableProduct.id$)}}" stepKey="goToConfigurableProduct"/> + + <actionGroup ref="GenerateConfigurationsByAttributeCodeActionGroup" stepKey="createProductConfigurations"> + <argument name="attributeCode" value="{{ProductColorAttribute.attribute_code}}"/> + </actionGroup> + <actionGroup ref="SaveConfigurableProductAddToCurrentAttributeSetActionGroup" stepKey="saveConfigurableProduct"/> + + <actionGroup ref="FilterAndSelectProductActionGroup" stepKey="filterProduct"> + <argument name="productSku" value="$$createConfigurableProduct.sku$$-White"/> + </actionGroup> + <actionGroup ref="ProductSetAdvancedPricingActionGroup" stepKey="addTierPriceToSimpleProduct"> + <argument name="group" value="ALL GROUPS"/> + <argument name="quantity" value="5"/> + <argument name="price" value="Discount"/> + <argument name="amount" value="50"/> + </actionGroup> + <actionGroup ref="SaveProductFormActionGroup" stepKey="saveSimpleProduct"/> + + <actionGroup ref="StorefrontOpenProductPageActionGroup" stepKey="openConfigurableProductPage"> + <argument name="productUrl" value="$createConfigurableProduct.custom_attributes[url_key]$"/> + </actionGroup> + <waitForPageLoad stepKey="waitForConfigurableProductPage"/> + + <actionGroup ref="StorefrontSelectSwatchOptionOnProductPageActionGroup" stepKey="selectWhiteOption"> + <argument name="optionName" value="White"/> + </actionGroup> + + <actionGroup ref="AssertStorefrontProductDetailPageTierPriceActionGroup" stepKey="assertProductTierPriceText"> + <argument name="tierProductPriceDiscountQuantity" value="5"/> + <argument name="productPriceWithAppliedTierPriceDiscount" value="61.50"/> + <argument name="productSavedPricePercent" value="50"/> + </actionGroup> + + <actionGroup ref="StorefrontAddProductWithSwatchesTextOptionToTheCartActionGroup" stepKey="addConfigurableProductToTheCart"> + <argument name="productQty" value="1"/> + <argument name="product" value="ApiConfigurableProduct"/> + <argument name="productOption" value="Blue"/> + </actionGroup> + + <actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="openShoppingCartPage"/> + + <actionGroup ref="StorefrontUpdateCartItemEditParametersProductActionGroup" stepKey="updateCartItem"> + <argument name="rowNumber" value="1"/> + </actionGroup> + + <actionGroup ref="StorefrontSelectSwatchOptionOnProductPageActionGroup" stepKey="selectWhiteOption2"> + <argument name="optionName" value="White"/> + </actionGroup> + + <actionGroup ref="AssertStorefrontProductDetailPageTierPriceActionGroup" stepKey="assertProductTierPriceText2"> + <argument name="tierProductPriceDiscountQuantity" value="5"/> + <argument name="productPriceWithAppliedTierPriceDiscount" value="61.50"/> + <argument name="productSavedPricePercent" value="50"/> + </actionGroup> + + <actionGroup ref="StorefrontSelectSwatchOptionOnProductPageActionGroup" stepKey="selectWhiteOption3"> + <argument name="optionName" value="Blue"/> + </actionGroup> + + <dontSee selector="{{StorefrontProductInfoMainSection.tierPriceText}}" stepKey="dontSeeTierPriceForOption"/> + + <actionGroup ref="StorefrontAddProductWithSwatchesTextOptionToTheCartActionGroup" stepKey="addUpdatedConfigurableProductToTheCart"> + <argument name="productQty" value="10"/> + <argument name="product" value="ApiConfigurableProduct"/> + <argument name="productOption" value="White"/> + </actionGroup> + + <actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="openShoppingCartPage2"/> + + </test> +</tests> From 13f5caebd21773d2b476096f82dda7abc9dcfe5e Mon Sep 17 00:00:00 2001 From: Alexander Steshuk <grp-engcom-vendorworker-Kilo@adobe.com> Date: Mon, 20 Jul 2020 14:09:52 +0300 Subject: [PATCH 3/5] MFTF test. --- .../Test/Mftf/Section/StorefrontProductInfoMainSection.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/code/Magento/Swatches/Test/Mftf/Section/StorefrontProductInfoMainSection.xml b/app/code/Magento/Swatches/Test/Mftf/Section/StorefrontProductInfoMainSection.xml index a4bff2227ffbb..811d3af735321 100644 --- a/app/code/Magento/Swatches/Test/Mftf/Section/StorefrontProductInfoMainSection.xml +++ b/app/code/Magento/Swatches/Test/Mftf/Section/StorefrontProductInfoMainSection.xml @@ -16,6 +16,7 @@ <element name="nthSwatchOptionText" type="button" selector="div.swatch-option.text:nth-of-type({{n}})" parameterized="true"/> <element name="productSwatch" type="button" selector="//div[@class='swatch-option'][@aria-label='{{var1}}']" parameterized="true"/> <element name="visualSwatchOption" type="button" selector=".swatch-option[data-option-tooltip-value='#{{visualSwatchOption}}']" parameterized="true"/> + <element name="visualSwatchOptionText" type="button" selector=".swatch-option.text[data-option-tooltip-value='{{visualSwatchOptionText}}']" parameterized="true"/> <element name="swatchOptionTooltip" type="block" selector="div.swatch-option-tooltip"/> <element name="swatchAttributeSelectedOption" type="text" selector="#product-options-wrapper .swatch-option.selected"/> </section> From 7d0d91d54f65e9e13b876588f4a606f6eb92b7f8 Mon Sep 17 00:00:00 2001 From: Alexander Steshuk <grp-engcom-vendorworker-Kilo@adobe.com> Date: Tue, 21 Jul 2020 15:48:12 +0300 Subject: [PATCH 4/5] Correction for MFTF test. --- ...torefrontUpdateCartItemEditParametersProductActionGroup.xml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/{StrorefrontUpdateCartItemEditParametersProductActionGroup.xml => StorefrontUpdateCartItemEditParametersProductActionGroup.xml} (88%) diff --git a/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml b/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StorefrontUpdateCartItemEditParametersProductActionGroup.xml similarity index 88% rename from app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml rename to app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StorefrontUpdateCartItemEditParametersProductActionGroup.xml index 17a13ab7a9a12..595cfa7c77409 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StrorefrontUpdateCartItemEditParametersProductActionGroup.xml +++ b/app/code/Magento/ConfigurableProduct/Test/Mftf/ActionGroup/StorefrontUpdateCartItemEditParametersProductActionGroup.xml @@ -8,7 +8,7 @@ <actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd"> - <actionGroup name="StrorefrontUpdateCartItemEditParametersProductActionGroup"> + <actionGroup name="StorefrontUpdateCartItemEditParametersProductActionGroup"> <arguments> <argument name="rowNumber" type="string" defaultValue="1"/> </arguments> From 22c74f99a4a746e3545ae3dc7ae22780e883a474 Mon Sep 17 00:00:00 2001 From: Alexander Steshuk <grp-engcom-vendorworker-Kilo@adobe.com> Date: Tue, 21 Jul 2020 16:33:44 +0300 Subject: [PATCH 5/5] Added testCaseId fot MFTF test. --- ...frontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml b/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml index ca68fcf329796..e89d3157e4624 100644 --- a/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml +++ b/app/code/Magento/Swatches/Test/Mftf/Test/StorefrontConfigurableProductSwatchUpdateCartItemTierPriceTest.xml @@ -14,6 +14,7 @@ <title value="Swatch option should show the tier price on product page when Cart Item edited."/> <description value="Configurable product with swatch attribute should show the tier price on product page when added Cart Item."/> <severity value="CRITICAL"/> + <testCaseId value="MC-36047"/> <group value="Swatches"/> </annotations> <before>