<?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="ActionGroupWithNoArguments">
        <annotations>
            <severity value="BLOCKER"/>
            <title value="Action Group With No Argument"/>
        </annotations>
        <actionGroup ref="actionGroupWithoutArguments" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupWithDefaultArgumentAndStringSelectorParam">
        <annotations>
            <severity value="BLOCKER"/>
            <title value="Action Group With Default Argument Value and Hardcoded Value in Param"/>
        </annotations>

        <actionGroup ref="actionGroupWithDefaultArgumentAndStringSelectorParam" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupWithPassedArgumentAndStringSelectorParam">
        <annotations>
            <severity value="BLOCKER"/>
            <title value="Action Group With Passed Argument Value and Hardcoded Value in Param"/>
        </annotations>

        <actionGroup ref="actionGroupWithDefaultArgumentAndStringSelectorParam" stepKey="actionGroup">
            <argument name="someArgument" value="UniquePerson"/>
        </actionGroup>
    </test>

    <test name="ActionGroupWithSingleParameterSelectorFromDefaultArgument">
        <annotations>
            <severity value="BLOCKER"/>
            <title value="Action Group With Default Argument Value and Argument Value in Param"/>
        </annotations>

        <actionGroup ref="actionGroupWithSingleParameterSelectorFromArgument" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupWithSingleParameterSelectorFromPassedArgument">
        <annotations>
            <severity value="BLOCKER"/>
            <title value="Action Group With Passed Argument Value and Argument Value in Param"/>
        </annotations>

        <actionGroup ref="actionGroupWithSingleParameterSelectorFromArgument" stepKey="actionGroup">
            <argument name="someArgument" value="UniquePerson"/>
        </actionGroup>
    </test>

    <test name="ActionGroupWithMultipleParameterSelectorsFromDefaultArgument">
        <annotations>
            <severity value="BLOCKER"/>
            <title value="Action Group With Passed Argument Value and Multiple Argument Values in Param"/>
        </annotations>

        <actionGroup ref="actionGroupWithMultipleParameterSelectorsFromArgument" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupWithSimpleDataUsageFromPassedArgument">
        <annotations>
            <severity value="CRITICAL"/>
            <title value="Action Group With Simple Data Usage From Passed Argument"/>
        </annotations>

        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup1">
            <argument name="someArgument" value="overrideString"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup11">
            <argument name="someArgument" value="1"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup12">
            <argument name="someArgument" value="1.5"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup13">
            <argument name="someArgument" value="true"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup2">
            <argument name="someArgument" value="simpleData.firstname"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup3">
            <argument name="someArgument" value="$persisted.data$"/>
        </actionGroup>

        <actionGroup ref="actionGroupWithEntityUsage" stepKey="actionGroup4">
            <argument name="someArgument" value="simpleData.firstname"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithEntityUsage" stepKey="actionGroup5">
            <argument name="someArgument" value="$simpleData.firstname$"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithEntityUsage" stepKey="actionGroup6">
            <argument name="someArgument" value="$simpleData.firstname[0]$"/>
        </actionGroup>
        <actionGroup ref="actionGroupWithEntityUsage" stepKey="actionGroup7">
            <argument name="someArgument" value="$simpleData.firstname[data_index]$"/>
        </actionGroup>
    </test>

    <test name="ActionGroupWithSimpleDataUsageFromDefaultArgument">
        <annotations>
            <severity value="CRITICAL"/>
            <title value="Action Group With Simple Data Usage From Default Argument"/>
        </annotations>
        <actionGroup ref="actionGroupWithStringUsage" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupWithStepKeyReferences">
        <actionGroup ref="FunctionActionGroupWithStepKeyReferences" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupUsingNestedArgument">
        <actionGroup ref="ActionGroupToExtend" stepKey="actionGroup">
            <argument name="count" value="99"/>
        </actionGroup>
    </test>

    <test name="ActionGroupToExtend">
        <actionGroup ref="ActionGroupToExtend" stepKey="actionGroup">
            <argument name="count" value="99"/>
        </actionGroup>
    </test>

    <test name="ExtendedActionGroup">
        <actionGroup ref="extendTestActionGroup" stepKey="actionGroup">
            <argument name="count" value="99"/>
            <argument name="otherCount" value="8000"/>
        </actionGroup>
    </test>

    <test name="ExtendedRemoveActionGroup">
        <actionGroup ref="extendRemoveTestActionGroup" stepKey="actionGroup"/>
    </test>

    <test name="ActionGroupUsingCreateData">
        <before>
            <actionGroup ref="actionGroupWithCreateData" stepKey="Key1"/>
        </before>
    </test>

    <test name="ActionGroupSkipReadiness">
        <actionGroup ref="actionGroupWithSkipReadinessActions" stepKey="skipReadinessActionGroup"/>
    </test>

    <test name="ActionGroupContainsStepKeyInArgText">
        <before>
            <actionGroup ref="actionGroupContainsStepKeyInArgValue" stepKey="actionGroup">
                <argument name="sameStepKeyAsArg" value="arg1"/>
            </actionGroup>
        </before>
        <actionGroup ref="actionGroupContainsStepKeyInArgValue" stepKey="actionGroup">
            <argument name="sameStepKeyAsArg" value="arg1"/>
        </actionGroup>
    </test>

    <test name="ActionGroupWithSectionAndDataAsArguments">
        <actionGroup ref="actionGroupWithSectionAndData" stepKey="actionGroup">
            <argument name="content" value="{{simpleData.firstname}}"/>
            <argument name="section" value="SampleSection"/>
        </actionGroup>
    </test>

    <test name="ActionGroupWithParameterizedElementWithHyphen">
        <actionGroup ref="SectionArgumentWithParameterizedSelector" stepKey="actionGroup">
            <argument name="section" value="SampleSection"/>
        </actionGroup>
    </test>
</tests>
