Skip to content

Commit 65d5963

Browse files
author
Anna Bukatar
committed
ACP2E-853: The cart will contain an incorrect number of items when you click Select All in the Related Products section and Add to Cart
1 parent b53582a commit 65d5963

File tree

4 files changed

+93
-1
lines changed

4 files changed

+93
-1
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11+
<entity name="CatalogMaximumNumberOfProductsInRelatedProductsList">
12+
<data key="path">catalog/magento_targetrule/related_position_limit</data>
13+
<data key="value">6</data>
14+
</entity>
15+
</entities>

app/code/Magento/Catalog/Test/Mftf/Section/StorefrontProducRelatedProductsSection.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="StorefrontProductRelatedProductsSection">
1212
<element name="relatedProductsActionsHeaderText" type="text" selector=".block.related .block-actions" />
13+
<element name="relatedProductsActionsHeaderBtn" type="text" selector=".block.related .block-actions button" />
1314
<element name="relatedProductsListSectionText" type="text" selector=".block.related .products.wrapper.grid.products-grid.products-related" />
1415
<element name="relatedProductName" type="button" selector="//*[@class='block related']//a[contains(text(), '{{productName}}')]" parameterized="true"/>
1516
<element name="relatedProductCheckBoxButton" type="button" selector="//*[@class='block related']//a[contains(text(), '{{productName}}')]/parent::*/parent::*//input[@class='checkbox related']" parameterized="true"/>
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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="AddToCartRelatedProductsTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<stories value="Promote Products as Related Products"/>
15+
<title value="Assert that only visible related product will be added to the cart from PDP when 'select all' used"/>
16+
<description value="When the number of assigned related products exceeds the number of Related Products to show on PDP an 'select all' used, only visible products should be added to a cart"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="AC-3172"/>
19+
<useCaseId value="ACP2E-853"/>
20+
<group value="Catalog"/>
21+
</annotations>
22+
<before>
23+
<magentoCLI command="config:set {{CatalogMaximumNumberOfProductsInRelatedProductsList.path}} 1" stepKey="customLimitForRelatedProducts"/>
24+
<createData entity="SimpleSubCategory" stepKey="category1"/>
25+
<createData entity="_defaultProduct" stepKey="simpleProduct1">
26+
<requiredEntity createDataKey="category1"/>
27+
</createData>
28+
<createData entity="_defaultProduct" stepKey="simpleProduct2">
29+
<requiredEntity createDataKey="category1"/>
30+
</createData>
31+
<createData entity="_defaultProduct" stepKey="simpleProduct3">
32+
<requiredEntity createDataKey="category1"/>
33+
</createData>
34+
35+
<actionGroup ref="AdminLoginActionGroup" stepKey="logInAsAdmin"/>
36+
</before>
37+
<after>
38+
<magentoCLI command="config:set {{CatalogMaximumNumberOfProductsInRelatedProductsList.path}} {{CatalogMaximumNumberOfProductsInRelatedProductsList.value}}"
39+
stepKey="defaultLimitForRelatedProducts"/>
40+
41+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
42+
43+
<deleteData createDataKey="simpleProduct1" stepKey="deleteSimp1"/>
44+
<deleteData createDataKey="simpleProduct2" stepKey="deleteSimp2"/>
45+
<deleteData createDataKey="simpleProduct3" stepKey="deleteSimp3"/>
46+
<deleteData createDataKey="category1" stepKey="deleteCategory"/>
47+
</after>
48+
49+
<!-- Assign related products to simpleProduct1 -->
50+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="goToProduct1">
51+
<argument name="productId" value="$simpleProduct1.id$"/>
52+
</actionGroup>
53+
<click stepKey="openHeader1" selector="{{AdminProductFormRelatedUpSellCrossSellSection.sectionHeader}}"/>
54+
55+
<actionGroup ref="AddRelatedProductBySkuActionGroup" stepKey="addProduct2ToSimp1">
56+
<argument name="sku" value="$simpleProduct2.sku$"/>
57+
</actionGroup>
58+
<actionGroup ref="AddRelatedProductBySkuActionGroup" stepKey="addProduct3ToSimp1">
59+
<argument name="sku" value="$simpleProduct3.sku$"/>
60+
</actionGroup>
61+
<actionGroup ref="AdminProductFormSaveActionGroup" stepKey="clickSave"/>
62+
63+
<!-- Go to the simpleProduct1 on storefrontend, select all visible related products, add to cart-->
64+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="goToProductOnStorefront">
65+
<argument name="product" value="$simpleProduct1$"/>
66+
</actionGroup>
67+
<waitForElementVisible selector="{{StorefrontProductRelatedProductsSection.relatedProductsListSectionText}}" stepKey="waitForRelatedProductsList"/>
68+
<click selector="{{StorefrontProductRelatedProductsSection.relatedProductsActionsHeaderBtn}}" stepKey="clickSelectAll"/>
69+
70+
<click selector="{{StorefrontProductPageSection.addToCartBtn}}" stepKey="addToCart"/>
71+
72+
<!-- Check that cart page contains only 2 items -->
73+
<waitForElementVisible selector="{{StorefrontCategoryMainSection.SuccessMsg}}" time="30" stepKey="waitForProductAdded"/>
74+
<see selector="{{StorefrontMinicartSection.quantity}}" userInput="2" stepKey="seeCartQuantity"/>
75+
</test>
76+
</tests>

app/code/Magento/Catalog/view/frontend/web/js/related-products.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ define([
5151
this.options.selectAllMessage : this.options.unselectAllMessage;
5252

5353
$(e.target).html(innerHTML);
54-
$(this.options.relatedCheckbox).attr(
54+
$(this.options.relatedCheckbox + ":visible").attr(
5555
'checked',
5656
this.options.relatedProductsCheckFlag = !this.options.relatedProductsCheckFlag
5757
);

0 commit comments

Comments
 (0)