<?xml version="1.0" encoding="UTF-8"?>
<!--
 /**
  * Copyright © Magento, Inc. All rights reserved.
  * See COPYING.txt for license details.
  */
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
    <actionGroup name="AdminCreateWidgetWithBlockActionGroup">
        <annotations>
            <description>Goes to the Admin Widgets creation page. Creates the provided Widget which includes the provided Block. Clicks on Save. Validates that the Success Message is preset and correct.</description>
        </annotations>
        <arguments>
            <argument name="widget"/>
            <argument name="block" type="string"/>
        </arguments>

        <amOnPage url="{{AdminNewWidgetPage.url}}" stepKey="createWidgetPage"/>
        <selectOption selector="{{AdminNewWidgetSection.widgetType}}" userInput="{{widget.type}}" stepKey="selectWidgetType"/>
        <selectOption selector="{{AdminNewWidgetSection.widgetDesignTheme}}" userInput="{{widget.designTheme}}" stepKey="selectWidgetDesignTheme"/>
        <click selector="{{AdminNewWidgetSection.continue}}" stepKey="continue"/>
        <waitForElement selector="{{AdminNewWidgetSection.widgetTitle}}" time="30" stepKey="waitForElement"/>
        <fillField selector="{{AdminNewWidgetSection.widgetTitle}}" userInput="{{widget.name}}" stepKey="fillWidgetTitle"/>
        <selectOption selector="{{AdminNewWidgetSection.widgetStoreIds}}" userInput="{{widget.store_id}}" stepKey="selectWidgetStoreView"/>
        <click selector="{{AdminNewWidgetSection.addLayoutUpdate}}" stepKey="clickAddLayoutUpdate"/>
        <waitForPageLoad stepKey="waitForLoad1"/>
        <scrollTo selector="{{AdminNewWidgetSection.selectDisplayOn}}" stepKey="scrollToElement"/>
        <selectOption selector="{{AdminNewWidgetSection.selectDisplayOn}}" userInput="{{widget.display}}" stepKey="selectWidgetDisplayOn"/>
        <waitForElement selector="{{AdminNewWidgetSection.selectContainer}}" time="30" stepKey="waitForContainer"/>
        <selectOption selector="{{AdminNewWidgetSection.selectContainer}}" userInput="{{widget.container}}" stepKey="selectWidgetContainer"/>
        <scrollToTopOfPage stepKey="scrollToAddresses"/>
        <waitForAjaxLoad stepKey="waitForAjaxLoad1"/>
        <click selector="{{AdminNewWidgetSection.widgetOptions}}" stepKey="goToWidgetOptions"/>
        <waitForElement selector="{{AdminNewWidgetSection.widgetSelectBlock}}" time="60" stepKey="waitForSelectBlock"/>
        <click selector="{{AdminNewWidgetSection.widgetSelectBlock}}" stepKey="openSelectBlock"/>
        <waitForPageLoad stepKey="waitForLoadBlocks"/>
        <selectOption selector="{{AdminNewWidgetSection.blockStatus}}" userInput="Disable" stepKey="chooseStatus"/>
        <fillField selector="{{AdminNewWidgetSection.selectBlockTitle}}" userInput="{{block}}" stepKey="fillBlockTitle"/>
        <click selector="{{AdminNewWidgetSection.searchBlock}}" stepKey="searchBlock"/>
        <waitForAjaxLoad stepKey="waitForAjaxLoad"/>
        <click selector="{{AdminNewWidgetSection.searchedBlock}}" stepKey="clickSearchedBlock"/>
        <waitForPageLoad stepKey="wait"/>
        <click selector="{{AdminNewWidgetSection.saveWidget}}" stepKey="saveWidget"/>
        <waitForPageLoad stepKey="waitForSaving"/>
        <see userInput="The widget instance has been saved." stepKey="seeSuccessMessage"/>
    </actionGroup>
</actionGroups>
