Skip to content

Commit 1e33c35

Browse files
Merge pull request #10019 from magento-gl/ACQE-functional-deployment-v3-3
Bengals Functional Mainline deployment PR
2 parents 1b1baf1 + c570752 commit 1e33c35

8 files changed

+137
-17
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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="AdminUnassignAllWebsitesFromProductTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<stories value="Create multi-website and multi-store, assign product to both, then unassign all websites and save."/>
15+
<title value="Unassign all websites from a product and set visibility to Not Visible Individually"/>
16+
<description value="Validate Removing a product from all websites in admin the product is saved successfully"/>
17+
<testCaseId value="AC-3653"/>
18+
<severity value="AVERAGE"/>
19+
<group value="catalog"/>
20+
</annotations>
21+
<before>
22+
<!-- Pre-condition 1: Create product -->
23+
<createData entity="defaultSimpleProduct" stepKey="createSimpleProduct"/>
24+
<!-- Pre-condition 2: Create a second website, store and store view -->
25+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
26+
<actionGroup ref="AdminCreateWebsiteActionGroup" stepKey="createSecondWebsite">
27+
<argument name="newWebsiteName" value="{{secondCustomWebsite.name}}"/>
28+
<argument name="websiteCode" value="{{secondCustomWebsite.code}}"/>
29+
</actionGroup>
30+
<actionGroup ref="AdminCreateNewStoreGroupActionGroup" stepKey="createSecondStore">
31+
<argument name="website" value="{{secondCustomWebsite.name}}"/>
32+
<argument name="storeGroupName" value="{{SecondStoreGroupUnique.name}}"/>
33+
<argument name="storeGroupCode" value="{{SecondStoreGroupUnique.code}}"/>
34+
</actionGroup>
35+
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createSecondStoreView">
36+
<argument name="StoreGroup" value="SecondStoreGroupUnique"/>
37+
<argument name="customStore" value="SecondStoreUnique"/>
38+
</actionGroup>
39+
</before>
40+
<after>
41+
<!-- Delete product -->
42+
<actionGroup ref="DeleteProductBySkuActionGroup" stepKey="deleteProduct">
43+
<argument name="sku" value="{{defaultSimpleProduct.sku}}"/>
44+
</actionGroup>
45+
<!-- Delete the second website -->
46+
<actionGroup ref="AdminDeleteWebsiteActionGroup" stepKey="deleteSecondWebsite">
47+
<argument name="websiteName" value="{{secondCustomWebsite.name}}"/>
48+
</actionGroup>
49+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
50+
</after>
51+
<!-- Step 1: Go to Admin panel, navigate to product -->
52+
<actionGroup ref="AdminOpenProductIndexPageActionGroup" stepKey="openProductGrid"/>
53+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="goToProductEditPage">
54+
<argument name="productId" value="$$createSimpleProduct.id$$"/>
55+
</actionGroup>
56+
<actionGroup ref="SelectProductInWebsitesActionGroup" stepKey="addProductToWebsite">
57+
<argument name="website" value="{{secondCustomWebsite.name}}"/>
58+
</actionGroup>
59+
<actionGroup ref="SelectProductInWebsitesActionGroup" stepKey="addProductToWeb">
60+
<argument name="website" value="{{_defaultWebsite.name}}"/>
61+
</actionGroup>
62+
<actionGroup ref="SaveProductFormActionGroup" stepKey="saveProduct"/>
63+
<!-- Step 2: Edit the product and set the visibility to "not visible individually", navigate to products and website section and uncheck all the websites and save the product-->
64+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="goToProductEditPageAgain">
65+
<argument name="productId" value="$$createSimpleProduct.id$$"/>
66+
</actionGroup>
67+
<!-- Set visibility to "not visible individually" -->
68+
<selectOption selector="{{AdminProductFormSection.visibility}}" userInput="{{simpleProductNotVisibleIndividually.visibility}}" stepKey="setVisibilityNotVisibleIndividually"/>
69+
<!-- Uncheck all websites -->
70+
<actionGroup ref="UnassignWebsiteFromProductActionGroup" stepKey="unassignCreatedWebsiteInProduct">
71+
<argument name="website" value="{{secondCustomWebsite.name}}"/>
72+
</actionGroup>
73+
<actionGroup ref="UnassignWebsiteFromProductActionGroup" stepKey="unassignWebsiteInProduct">
74+
<argument name="website" value="{{_defaultWebsite.name}}"/>
75+
</actionGroup>
76+
<!-- Save the product -->
77+
<actionGroup ref="AdminProductFormSaveActionGroup" stepKey="saveProductAfterUpdate"/>
78+
<!-- Step 3: Verify the product is saved successfully -->
79+
<waitForElementVisible selector="{{AdminMessagesSection.success}}" stepKey="waitForSuccessMessage"/>
80+
</test>
81+
</tests>

app/code/Magento/Checkout/Test/Mftf/Test/OnePageCheckoutAsCustomerUsingNonDefaultAddressTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@
6767
<click selector="{{CheckoutShippingSection.shipHereButton(DE_Address_Berlin_Not_Default_Address.street[0])}}" stepKey="clickShipHere"/>
6868

6969
<!-- Click next button to open payment section -->
70-
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectPaymentMethod"/>
7170
<actionGroup ref="StorefrontGuestCheckoutProceedToPaymentStepActionGroup" stepKey="clickNext"/>
71+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectPaymentMethod"/>
7272

7373
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="waitForShipmentPageLoad"/>
7474
<waitForElementClickable selector="{{CheckoutPaymentSection.billingAddressNotSameCheckbox}}" stepKey="waitForElementSelectPaymentSolutionToBeClickable"/>

app/code/Magento/Cms/Test/Mftf/Test/AdminAddUpdateDeleteWidgetOfTypeCatalogProductLinkTypeTest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@
1919
</annotations>
2020

2121
<before>
22+
<actionGroup ref="AdminLoginActionGroup" stepKey="login"/>
23+
<!-- Delete old products -->
24+
<actionGroup ref="DeleteAllProductsUsingProductGridActionGroup" stepKey="deleteAllProducts"/>
2225
<createData entity="_defaultCategory" stepKey="createPreReqCategory"/>
2326
<createData entity="_defaultProduct" stepKey="createPreReqProduct1">
2427
<requiredEntity createDataKey="createPreReqCategory"/>
2528
</createData>
2629
<createData entity="_defaultProduct" stepKey="createPreReqProduct2">
2730
<requiredEntity createDataKey="createPreReqCategory"/>
2831
</createData>
29-
<actionGroup ref="AdminLoginActionGroup" stepKey="login"/>
3032
</before>
3133

3234
<!--Main test-->

app/code/Magento/Config/Test/Mftf/Test/DateFiltersInCustomInstanceTimeZoneTest.xml

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
/**
4-
* Copyright © Magento, Inc. All rights reserved.
5-
* See COPYING.txt for license details.
6-
*/
3+
/**
4+
* Copyright 2023 Adobe
5+
* All Rights Reserved.
6+
*/
77
-->
88

99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -25,43 +25,56 @@
2525
<!--Set needed Timezone-->
2626
<selectOption userInput="New Zealand Standard Time (Antarctica/McMurdo)" selector="{{LocaleOptionsSection.timeZoneDropdown}}" stepKey="selectOption1"/>
2727
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfiguration"/>
28-
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutAsAdmin"/>
28+
<!-- Wait for configuration to be applied-->
29+
<waitForPageLoad stepKey="waitForConfigurationSave"/>
30+
<!-- Clear cache to ensure timezone change takes effect-->
31+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="flushCacheAfterTimezoneChange">
32+
<argument name="tags" value="config full_page"/>
33+
</actionGroup>
2934
</before>
3035
<after>
36+
<!-- Go to *General > General > Locale Options* section -->
3137
<actionGroup ref="AdminNavigateToDefaultLocaleSettingActionGroup" stepKey="redirectAgain"/>
38+
<!-- Reset timezone to default-->
3239
<selectOption userInput="Central Standard Time (America/Chicago)" selector="{{LocaleOptionsSection.timeZoneDropdown}}" stepKey="selectDefaultoption"/>
33-
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfiguration"/>
40+
<actionGroup ref="AdminSaveConfigActionGroup" stepKey="saveConfigurationAgain"/>
41+
<!-- Clear cache to ensure default timezone change takes effect-->
42+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="flushCacheAfterDefaultTimezone">
43+
<argument name="tags" value="config full_page"/>
44+
</actionGroup>
45+
<!-- Logout customer from storefront (if logged in) -->
46+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
3447
<!-- Delete customer -->
35-
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer" />
3648
<actionGroup ref="AdminDeleteCustomerActionGroup" stepKey="deleteCustomer">
3749
<argument name="customerEmail" value="Simple_US_Customer.email"/>
3850
</actionGroup>
51+
<!-- Logout from admin -->
3952
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutAsAdmin"/>
4053
</after>
4154
<!-- Create Customer -->
4255
<actionGroup ref="SignUpNewUserFromStorefrontActionGroup" stepKey="signUpNewUser">
4356
<argument name="Customer" value="Simple_US_Customer"/>
4457
</actionGroup>
45-
<!--Login to Admin-->
46-
<actionGroup ref="AdminLoginActionGroup" stepKey="adminLogin"/>
4758
<!--Go to *Customers > All Customers* page-->
48-
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToAllCustomerPage">
49-
<argument name="menuUiId" value="{{AdminMenuCustomers.dataUiId}}"/>
50-
<argument name="submenuUiId" value="{{AdminMenuCustomersAllCustomers.dataUiId}}"/>
51-
</actionGroup>
52-
<!--Clear Filters if Present on Customer Grid Page-->
59+
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="GoToCustomerPage"/>
60+
<waitForPageLoad stepKey="waitForCustomersPage2"/>
61+
<!-- Clear Filters if Present on Customer Grid Page-->
5362
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clickOnButtonToRemoveFiltersIfPresent"/>
5463
<!-- Click on Filters-->
5564
<click selector="{{AdminDataGridHeaderSection.filters}}" stepKey="clickOnFilters"/>
65+
<!--Wait for filter form to be visible-->
66+
<waitForElementVisible selector="{{AdminDataGridHeaderSection.dateFilterFrom}}" stepKey="waitForDateFilterFields"/>
5667
<!-- Generate Today's Date to set in filter-->
5768
<!--<generateDate date="now" format="m/d/Y" stepKey="today"/>-->
58-
<generateDate date="now" format="m/j/Y" timezone="Antarctica/McMurdo" stepKey="today"/>
69+
<generateDate date="now" format="m/d/Y" timezone="Antarctica/McMurdo" stepKey="today"/>
5970
<!--Set the *Customer Since* filter From Date-->
6071
<fillField selector="{{AdminDataGridHeaderSection.dateFilterFrom}}" userInput="{$today}" stepKey="fillDateFrom"/>
6172
<!--Set the *Customer Since* filter To Date-->
6273
<fillField selector="{{AdminDataGridHeaderSection.dateFilterTo}}" userInput="{$today}" stepKey="fillDateto"/>
6374
<!-- Apply Filter-->
6475
<actionGroup ref="AdminGridFilterApplyActionGroup" stepKey="applyFilter"/>
76+
<!--Wait for grid to update after filter application-->
77+
<waitForPageLoad stepKey="waitForGridUpdate"/>
6578
<!--Customer *A* is present in the grid-->
6679
<actionGroup ref="AdminAssertCustomerInCustomersGrid" stepKey="assertCustomer1InGrid">
6780
<argument name="text" value="{{Simple_US_Customer.email}}"/>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
6+
*/
7+
-->
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminPayPalExpressCheckoutEnableWithOutContextActionGroup" extends="AdminPayPalExpressCheckoutEnableActionGroup">
11+
<annotations>
12+
<description>Extends AdminPayPalExpressCheckoutEnableActionGroup to configure the In-Context Checkout setting for PayPal Express Checkout.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="enableInContext" type="string" defaultValue="Yes"/>
16+
</arguments>
17+
<selectOption selector="{{PayPalExpressCheckoutConfigSection.enableInContext(countryCode)}}" userInput="{{enableInContext}}" stepKey="enableInContext" after="inputMerchantID"/>
18+
</actionGroup>
19+
</actionGroups>

app/code/Magento/Paypal/Test/Mftf/ActionGroup/StorefrontLoginToPayPalExpressCheckoutPayFlowEditionActionGroup.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
<waitForElementVisible selector="{{PayPalPaymentSection.email}}" stepKey="waitForEmailField" />
2121
<fillField selector="{{PayPalPaymentSection.email}}" userInput="{{credentials.magento/PAYPAL_LOGIN}}" stepKey="fillEmail"/>
2222
<click selector="{{PayPalPaymentSection.nextButton}}" stepKey="clickNext"/>
23+
<waitForPageLoad stepKey="waitForNextPageLoad"/>
24+
<conditionalClick selector="{{PayPalPaymentSection.usePasswordInsteadButton}}" dependentSelector="{{PayPalPaymentSection.password}}" visible="false" stepKey="clickUsePasswordInsteadIfPasswordFieldNotVisible"/>
2325
<waitForElementVisible selector="{{PayPalPaymentSection.password}}" stepKey="waitForPasswordFieldToBeVisible" />
2426
<fillField selector="{{PayPalPaymentSection.password}}" userInput="{{credentials.magento/PAYPAL_PWD}}" stepKey="fillPassword"/>
2527
<waitForElementClickable selector="{{PayPalPaymentSection.loginBtn}}" stepKey="waitForLoginField"/>

app/code/Magento/Paypal/Test/Mftf/ActionGroup/StorefrontLoginToPayPalPaymentAccountTwoStepActionGroup.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
<clearField selector="{{PayPalPaymentSection.email}}" stepKey="clearEmailField"/>
2424
<fillField selector="{{PayPalPaymentSection.email}}" userInput="{{credentials.magento/PAYPAL_LOGIN}}" stepKey="fillEmail"/>
2525
<click selector="{{PayPalPaymentSection.nextButton}}" stepKey="clickNext"/>
26+
<waitForPageLoad stepKey="waitForNextPageLoad"/>
27+
<conditionalClick selector="{{PayPalPaymentSection.usePasswordInsteadButton}}" dependentSelector="{{PayPalPaymentSection.password}}" visible="false" stepKey="clickUsePasswordInsteadIfPasswordFieldNotVisible"/>
2628
<waitForElementVisible selector="{{PayPalPaymentSection.password}}" stepKey="waitForPasswordField"/>
2729
<click selector="{{PayPalPaymentSection.password}}" stepKey="focusOnPasswordField"/>
2830
<fillField selector="{{PayPalPaymentSection.password}}" userInput="{{credentials.magento/PAYPAL_PWD}}" stepKey="fillPassword"/>

app/code/Magento/Paypal/Test/Mftf/Section/PayPalExpressCheckoutConfigSection/PayPalPaymentSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,6 @@
3737
<element name="changeShippingAddressButton" type="button" selector="//button[@data-dd-action-name='Ship to Tab']"/>
3838
<element name="shippingAddressDropdown" type="select" selector="(//div[@data-dd-action-name='Shipping Address'][.//span[contains(normalize-space(.), '{{ShippingAddress}}')]])[1]" parameterized="true"/>
3939
<element name="selectedShippingAddress" type="text" selector="//div/p[contains(text(), '{{selectedAddress}}')]" parameterized="true"/>
40+
<element name="usePasswordInsteadButton" type="button" selector="//button[text()='Use Password Instead']"/>
4041
</section>
4142
</sections>

0 commit comments

Comments
 (0)