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

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="../../../../../src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
    <test name="BasicActionGroupTest">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <amOnPage stepKey="step1" url="/someUrl"/>
        <actionGroup ref="FunctionalActionGroup" stepKey="actionGroup1"/>
        <click stepKey="step6" selector="loginButton"/>
    </test>
    <test name="ActionGroupWithDataTest">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <amOnPage stepKey="step1" url="/someUrl"/>
        <actionGroup ref="FunctionalActionGroupWithData" stepKey="actionGroupWithData1"/>
        <click stepKey="step6" selector="loginButton"/>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="ActionGroupWithDataOverrideTest">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <amOnPage stepKey="step1" url="/someUrl"/>
        <actionGroup ref="FunctionalActionGroupWithData" stepKey="actionGroupWithDataOverride1">
            <argument name="person" value="ReplacementPerson"/>
        </actionGroup>
        <click stepKey="step6" selector="loginButton"/>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="ActionGroupWithNoDefaultTest">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <amOnPage stepKey="step1" url="/someUrl"/>
        <actionGroup ref="FunctionalActionGroupNoDefault" stepKey="actionGroupWithDataOverride1">
            <argument name="person" value="DefaultPerson"/>
        </actionGroup>
        <click stepKey="step6" selector="loginButton"/>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="ActionGroupWithPersistedData">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <createData entity="DefaultPerson" stepKey="createPerson"/>
        <actionGroup ref="FunctionalActionGroupWithData" stepKey="actionGroupWithPersistedData1">
            <argument name="person" value="$createPerson$"/>
        </actionGroup>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="ActionGroupWithTopLevelPersistedData">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <actionGroup ref="FunctionalActionGroupWithData" stepKey="actionGroupWithPersistedData1">
            <argument name="person" value="$$createPersonParam$$"/>
        </actionGroup>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="MultipleActionGroupsTest">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <amOnPage stepKey="step1" url="/someUrl"/>
        <actionGroup ref="FunctionalActionGroupWithData" stepKey="actionGroup1"/>
        <click stepKey="step6" selector="loginButton"/>
        <actionGroup ref="FunctionalActionGroupWithData" stepKey="actionGroupWithDataOverride2">
            <argument name="person" value="ReplacementPerson"/>
        </actionGroup>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="MergedActionGroupTest">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <actionGroup ref="FunctionalActionGroupForMerge" stepKey="actionGroupForMerge">
            <argument name="myArg" value="DefaultPerson"/>
        </actionGroup>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="ArgumentWithSameNameAsElement">
        <annotations>
            <severity value="CRITICAL"/>
            <group value="functional"/>
            <features value="Action Group Functional Cest"/>
            <stories value="MQE-433"/>
        </annotations>
        <before>
            <createData entity="ReplacementPerson" stepKey="createPersonParam"/>
            <actionGroup ref="FunctionalActionGroup" stepKey="beforeGroup"/>
        </before>
        <actionGroup ref="FunctionalActionGroupWithTrickyArgument" stepKey="actionGroup1"/>
        <after>
            <actionGroup ref="FunctionalActionGroup" stepKey="afterGroup"/>
        </after>
    </test>
    <test name="ActionGroupMergedViaInsertBefore">
        <actionGroup ref="FunctionalActionGroupForMassMergeBefore" stepKey="keyone"/>
    </test>
    <test name="ActionGroupMergedViaInsertAfter">
        <actionGroup ref="FunctionalActionGroupForMassMergeAfter" stepKey="keyone"/>
    </test>
    <test name="PersistedAndXmlEntityArguments">
        <actionGroup ref="FunctionalActionGroupWithXmlAndPersistedData" stepKey="afterGroup">
            <argument name="persistedData" value="$persistedInTest$"/>
        </actionGroup>
    </test>
</tests>
