<?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/testSchema.xsd">
    <actionGroup name="CheckingWithSingleAddressActionGroup">
        <click selector="{{SingleShippingSection.checkoutWithMultipleAddresses}}" stepKey="clickOnCheckoutWithMultipleAddresses"/>
        <waitForPageLoad stepKey="waitForMultipleAddressPageLoad"/>
        <click selector="{{SingleShippingSection.goToShippingInfo}}" stepKey="goToShippingInformation"/>
        <waitForPageLoad stepKey="waitForShippingPageLoad"/>
    </actionGroup>
    <actionGroup name="CheckingWithMultipleAddressesActionGroup" extends="CheckingWithSingleAddressActionGroup">
        <arguments>
            <argument name="addressOption1" type="string" defaultValue="1"/>
            <argument name="addressOption2" type="string" defaultValue="2"/>
        </arguments>
        <grabTextFrom selector="{{MultishippingSection.shippingAddressOptions(addressOption1,addressOption1)}}" after="waitForMultipleAddressPageLoad" stepKey="firstShippingAddressValue"/>
        <selectOption selector="{{MultishippingSection.shippingAddressSelector(addressOption1)}}" userInput="{$firstShippingAddressValue}" after="firstShippingAddressValue" stepKey="selectFirstShippingMethod"/>
        <waitForPageLoad after="selectFirstShippingMethod" stepKey="waitForSecondShippingAddresses"/>
        <grabTextFrom selector="{{MultishippingSection.shippingAddressOptions(addressOption2,addressOption2)}}" after="waitForSecondShippingAddresses" stepKey="secondShippingAddressValue"/>
        <selectOption selector="{{MultishippingSection.shippingAddressSelector(addressOption2)}}" userInput="{$secondShippingAddressValue}" after="secondShippingAddressValue" stepKey="selectSecondShippingMethod"/>
        <click selector="{{SingleShippingSection.updateAddress}}" after="selectSecondShippingMethod" stepKey="clickOnUpdateAddress"/>
        <waitForPageLoad after="clickOnUpdateAddress" stepKey="waitForShippingInformation"/>
    </actionGroup>
    <actionGroup name="StorefrontCheckoutWithMultipleAddressesActionGroup">
        <click selector="{{SingleShippingSection.checkoutWithMultipleAddresses}}" stepKey="clickOnCheckoutWithMultipleAddresses"/>
        <waitForPageLoad stepKey="waitForMultipleAddressPageLoad"/>
    </actionGroup>
    <actionGroup name="StorefrontSelectAddressActionGroup">
        <arguments>
            <argument name="sequenceNumber" type="string" defaultValue="1"/>
            <argument name="option" type="string" defaultValue="1"/>
        </arguments>
        <selectOption selector="{{MultishippingSection.selectShippingAddress(sequenceNumber)}}" userInput="{{option}}" stepKey="selectShippingAddress"/>
    </actionGroup>
    <actionGroup name="StorefrontSaveAddressActionGroup">
        <click selector="{{SingleShippingSection.updateAddress}}" stepKey="clickOnUpdateAddress"/>
        <waitForPageLoad time="90" stepKey="waitForShippingInformationAfterUpdated"/>
        <click selector="{{SingleShippingSection.goToShippingInfo}}" stepKey="goToShippingInformation"/>
        <waitForPageLoad stepKey="waitForShippingPageLoad"/>
    </actionGroup>
</actionGroups>

