|
| 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="AdminConfigureWidgetWithSpecificProductsActionGroup"> |
| 11 | + <annotations> |
| 12 | + <description>Create and configure a widget with specific products by selecting display type, container, and products via chooser.</description> |
| 13 | + </annotations> |
| 14 | + <arguments> |
| 15 | + <argument name="widget" type="entity" defaultValue="SampleCatalogProductsListWidget"/> |
| 16 | + <argument name="productId" type="string"/> |
| 17 | + <argument name="widgetOptionsTitle" type="string" defaultValue="{{SampleCatalogProductsListWidget.widget_options_title}}"/> |
| 18 | + <argument name="productsPerPage" type="string" defaultValue="{{SampleCatalogProductsListWidget.products_per_page}}"/> |
| 19 | + <argument name="productsToDisplay" type="string" defaultValue="{{SampleCatalogProductsListWidget.products_to_display}}"/> |
| 20 | + </arguments> |
| 21 | + <!-- Navigate to new widget page and select type --> |
| 22 | + <amOnPage url="{{AdminNewWidgetPage.url}}" stepKey="amOnAdminNewWidgetPage"/> |
| 23 | + <selectOption selector="{{AdminNewWidgetSection.widgetType}}" userInput="{{widget.type}}" stepKey="setWidgetType"/> |
| 24 | + <selectOption selector="{{AdminNewWidgetSection.widgetDesignTheme}}" userInput="{{widget.design_theme}}" stepKey="setWidgetDesignTheme"/> |
| 25 | + <click selector="{{AdminNewWidgetSection.continue}}" stepKey="clickContinue"/> |
| 26 | + <waitForPageLoad stepKey="waitForContinue"/> |
| 27 | + <!-- Fill widget title and select store view --> |
| 28 | + <waitForElementVisible selector="{{AdminNewWidgetSection.widgetTitle}}" stepKey="waitForTitle"/> |
| 29 | + <fillField selector="{{AdminNewWidgetSection.widgetTitle}}" userInput="{{widget.name}}" stepKey="fillWidgetTitle"/> |
| 30 | + <selectOption selector="{{AdminNewWidgetSection.widgetStoreIds}}" userInput="{{widget.store_ids[0]}}" stepKey="setWidgetStoreIds"/> |
| 31 | + <!-- Configure widget layout updates --> |
| 32 | + <click selector="{{AdminNewWidgetSection.addLayoutUpdate}}" stepKey="clickAddLayoutUpdate"/> |
| 33 | + <waitForElementVisible selector="{{AdminNewWidgetSection.selectDisplayOn}}" stepKey="waitForLayoutUpdate"/> |
| 34 | + <selectOption selector="{{AdminNewWidgetSection.selectDisplayOn}}" userInput="{{widget.display_on}}" stepKey="setDisplayOn"/> |
| 35 | + <waitForPageLoad stepKey="waitForLoad"/> |
| 36 | + <!-- Select container for configurable products --> |
| 37 | + <waitForElementVisible selector="{{AdminNewWidgetSection.configurableProductsContainer}}" stepKey="waitForContainerDropdown"/> |
| 38 | + <selectOption selector="{{AdminNewWidgetSection.configurableProductsContainer}}" userInput="{{widget.container}}" stepKey="setContainer"/> |
| 39 | + <waitForPageLoad stepKey="waitForPageLoad"/> |
| 40 | + <!-- Select Specific Products --> |
| 41 | + <waitForElementVisible selector="{{AdminNewWidgetSection.specificConfigurableProductsRadio}}" stepKey="waitForProductsRadio"/> |
| 42 | + <click selector="{{AdminNewWidgetSection.specificConfigurableProductsRadio}}" stepKey="selectSpecificProducts"/> |
| 43 | + <waitForElementVisible selector="{{AdminNewWidgetSection.configurableProductsChooser}}" stepKey="waitForChooserButton"/> |
| 44 | + <!-- Open product chooser and select product --> |
| 45 | + <click selector="{{AdminNewWidgetSection.configurableProductsChooser}}" stepKey="clickOpenChooser"/> |
| 46 | + <waitForElementVisible selector="{{AdminNewWidgetSection.chooserProductIdFilter}}" stepKey="waitForChooserGrid"/> |
| 47 | + <fillField selector="{{AdminNewWidgetSection.chooserProductIdFilter}}" userInput="{{productId}}" stepKey="fillProductIdInFilter"/> |
| 48 | + <click selector="{{AdminNewWidgetSection.chooserSearchButton}}" stepKey="clickSearchInChooser"/> |
| 49 | + <waitForPageLoad stepKey="waitForSearchResults"/> |
| 50 | + <click selector="{{AdminNewWidgetSection.chooserProductCheckboxById(productId)}}" stepKey="selectProduct1InChooser"/> |
| 51 | + <waitForPageLoad stepKey="waitAfterProductSelection"/> |
| 52 | + <!-- Configure widget options --> |
| 53 | + <scrollToTopOfPage stepKey="scrollToTopOfPage"/> |
| 54 | + <click selector="{{AdminNewWidgetSection.widgetOptions}}" stepKey="clickWidgetOptions"/> |
| 55 | + <waitForElementVisible selector="{{AdminNewWidgetSection.title}}" stepKey="waitForWidgetOptionsSection"/> |
| 56 | + <fillField selector="{{AdminNewWidgetSection.title}}" userInput="{{widgetOptionsTitle}}" stepKey="setWidgetOptionsTitle"/> |
| 57 | + <fillField selector="{{AdminNewWidgetSection.numberOfProductsPerPage}}" userInput="{{productsPerPage}}" stepKey="setNumberOfProductsPerPage"/> |
| 58 | + <fillField selector="{{AdminNewWidgetSection.numberOfProductsToDisplay}}" userInput="{{productsToDisplay}}" stepKey="setNumberOfProductsToDisplay"/> |
| 59 | + </actionGroup> |
| 60 | +</actionGroups> |
0 commit comments