Skip to content

Commit 0cc5c23

Browse files
Merge branch 'ACQE-8327' into ACQE-functional-deployment-version15
2 parents 76117e1 + 783bba3 commit 0cc5c23

File tree

1 file changed

+156
-0
lines changed

1 file changed

+156
-0
lines changed
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
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="StorefrontCartSidebarSynchronizationWithCustomerLoginTest">
12+
<annotations>
13+
<features value="Checkout"/>
14+
<stories value="Cart Sidebar Synchronization"/>
15+
<title value="Cart Sidebar synchronization with Customer Data Lifetime through customer login/logout"/>
16+
<description value="Verify that cart sidebar data is synchronized after customer logout/login when Customer Data Lifetime expires and product data changes in admin"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="AC-4849"/>
19+
<group value="checkout"/>
20+
</annotations>
21+
<before>
22+
<!-- Precondition 1: Create simple product -->
23+
<createData entity="_defaultCategory" stepKey="createCategory"/>
24+
<createData entity="SimpleProduct" stepKey="createSimpleProduct">
25+
<requiredEntity createDataKey="createCategory"/>
26+
<field key="name">Apple</field>
27+
<field key="price">10</field>
28+
</createData>
29+
<!-- Precondition 2: Create customer -->
30+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
31+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
32+
<!-- Precondition 3: Set Customer Data Lifetime to 2 minutes -->
33+
<actionGroup ref="SetCustomerDataLifetimeActionGroup" stepKey="setCustomerDataLifetime">
34+
<argument name="minutes" value="2"/>
35+
</actionGroup>
36+
</before>
37+
<after>
38+
<!-- Logout customer -->
39+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomerInCleanup"/>
40+
<!-- Reset Customer Data Lifetime configuration to default -->
41+
<actionGroup ref="SetCustomerDataLifetimeActionGroup" stepKey="resetCustomerDataLifetime"/>
42+
<!-- Delete test data and Logout from Admin -->
43+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteProduct"/>
44+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
45+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
46+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdminInCleanup"/>
47+
</after>
48+
<!-- Step 1: Login to storefront and add product to cart -->
49+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefront">
50+
<argument name="Customer" value="$createCustomer$"/>
51+
</actionGroup>
52+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openProductPage">
53+
<argument name="product" value="$createSimpleProduct$"/>
54+
</actionGroup>
55+
<actionGroup ref="AddToCartFromStorefrontProductPageActionGroup" stepKey="addSimpleProductToCart">
56+
<argument name="productName" value="$createSimpleProduct.name$"/>
57+
</actionGroup>
58+
<!-- Step 2: Reload product page several times to ensure caching -->
59+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPage1"/>
60+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPage2"/>
61+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPage3"/>
62+
<!-- Step 3: Open Cart Sidebar and verify initial values -->
63+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="openMiniCart"/>
64+
<actionGroup ref="AssertStorefrontMiniCartItemsActionGroup" stepKey="verifyInitialProductInMiniCart">
65+
<argument name="productName" value="$createSimpleProduct.name$"/>
66+
<argument name="productPrice" value="$10.00"/>
67+
<argument name="cartSubtotal" value="$10.00"/>
68+
<argument name="qty" value="1"/>
69+
</actionGroup>
70+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="closeMiniCart"/>
71+
<!-- Step 4: Open new tab for Admin and change product details -->
72+
<openNewTab stepKey="openAdminTab"/>
73+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="openProductEditPage">
74+
<argument name="productId" value="$createSimpleProduct.id$"/>
75+
</actionGroup>
76+
<!-- Change product name and price -->
77+
<actionGroup ref="AdminFillProductNameOnProductFormActionGroup" stepKey="changeProductName">
78+
<argument name="productName" value="Apple-X"/>
79+
</actionGroup>
80+
<actionGroup ref="AdminFillProductPriceFieldAndPressEnterOnProductEditPageActionGroup" stepKey="changeProductPrice">
81+
<argument name="price" value="20"/>
82+
</actionGroup>
83+
<actionGroup ref="SaveProductFormActionGroup" stepKey="saveProduct"/>
84+
<!-- Step 5: Return to storefront, reload page and verify cached values -->
85+
<switchToPreviousTab stepKey="switchToStorefrontTab"/>
86+
<!-- Reload product page and open Cart Sidebar -->
87+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openSimpleProductPageAfterFirstAdminChange">
88+
<argument name="product" value="$createSimpleProduct$"/>
89+
</actionGroup>
90+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadProductPageAfterFirstAdminChange"/>
91+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="openMiniCartAfterProductChange"/>
92+
<actionGroup ref="AssertStorefrontMiniCartItemsActionGroup" stepKey="verifyCachedProductInMiniCart">
93+
<argument name="productName" value="$createSimpleProduct.name$"/>
94+
<argument name="productPrice" value="$10.00"/>
95+
<argument name="cartSubtotal" value="$10.00"/>
96+
<argument name="qty" value="1"/>
97+
</actionGroup>
98+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="closeMiniCartAfterProductChange"/>
99+
<!-- Step 6: Logout and login again to invalidate cache -->
100+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
101+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginBackToStorefront">
102+
<argument name="Customer" value="$createCustomer$"/>
103+
</actionGroup>
104+
<!-- Step 7: Verify cart shows updated values after login -->
105+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="openMiniCartAfterLogin"/>
106+
<actionGroup ref="AssertStorefrontMiniCartItemsActionGroup" stepKey="verifyUpdatedProductInMiniCartAfterLogin">
107+
<argument name="productName" value="Apple-X"/>
108+
<argument name="productPrice" value="$20.00"/>
109+
<argument name="cartSubtotal" value="$20.00"/>
110+
<argument name="qty" value="1"/>
111+
</actionGroup>
112+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="closeMiniCartAfterLogin"/>
113+
<!-- Step 8: Reload page several times to ensure caching -->
114+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPageAfterLogin1"/>
115+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPageAfterLogin2"/>
116+
<!-- Step 9: Change product details again in admin -->
117+
<switchToNextTab stepKey="switchToAdminTab"/>
118+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="openProductEditPageAgain">
119+
<argument name="productId" value="$createSimpleProduct.id$"/>
120+
</actionGroup>
121+
<!-- Change product name and price again -->
122+
<actionGroup ref="AdminFillProductNameOnProductFormActionGroup" stepKey="changeProductNameAgain">
123+
<argument name="productName" value="Apple-X-Y"/>
124+
</actionGroup>
125+
<actionGroup ref="AdminFillProductPriceFieldAndPressEnterOnProductEditPageActionGroup" stepKey="changeProductPriceAgain">
126+
<argument name="price" value="30"/>
127+
</actionGroup>
128+
<actionGroup ref="SaveProductFormActionGroup" stepKey="saveProductAgain"/>
129+
<!-- Step 10: Return to storefront and verify cached values -->
130+
<switchToPreviousTab stepKey="switchToStorefrontTabAgain"/>
131+
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openSimpleProductPageAfterSecondAdminChange">
132+
<argument name="product" value="$createSimpleProduct$"/>
133+
</actionGroup>
134+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadProductPageAfterSecondAdminChange"/>
135+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="openMiniCartAfterSecondChange"/>
136+
<actionGroup ref="AssertStorefrontMiniCartItemsActionGroup" stepKey="verifyCachedProductAfterSecondChange">
137+
<argument name="productName" value="Apple-X"/>
138+
<argument name="productPrice" value="$20.00"/>
139+
<argument name="cartSubtotal" value="$20.00"/>
140+
<argument name="qty" value="1"/>
141+
</actionGroup>
142+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="closeMiniCartAfterSecondChange"/>
143+
<!-- Step 11: Wait for Customer Data Lifetime to expire -->
144+
<wait time="120" stepKey="waitForCustomerDataLifetimeExpiration"/>
145+
<!-- Step 12: Reload page and verify updated values -->
146+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPageAfterWait"/>
147+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="openMiniCartAfterWait"/>
148+
<actionGroup ref="AssertStorefrontMiniCartItemsActionGroup" stepKey="verifyFinalUpdatedProductInMiniCart">
149+
<argument name="productName" value="Apple-X-Y"/>
150+
<argument name="productPrice" value="$30.00"/>
151+
<argument name="cartSubtotal" value="$30.00"/>
152+
<argument name="qty" value="1"/>
153+
</actionGroup>
154+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="closeCartSidebarFinal"/>
155+
</test>
156+
</tests>

0 commit comments

Comments
 (0)