<?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="urn:magento:mftf:Test/etc/testSchema.xsd">
    <test name="DataReplacementTest">
        <fillField stepKey="inputReplace" selector="#selector" userInput="StringBefore {{simpleData.firstname}} StringAfter"/>
        <seeCurrentUrlMatches stepKey="seeInRegex" regex="~\/{{simpleData.firstname}}~i"/>
        <fillField stepKey="selectorReplace" selector="#{{simpleData.firstname}}" userInput="input"/>
        <dragAndDrop stepKey="selector12Replace" selector1="#{{simpleData.firstname}}" selector2="{{simpleData.lastname}}"/>
        <conditionalClick stepKey="dependentSelectorReplace" dependentSelector="#{{simpleData.firstname}}" selector="{{simpleData.lastname}}" visible="true"/>
        <amOnUrl stepKey="urlReplace" url="{{simpleData.firstname}}.html"/>
        <searchAndMultiSelectOption stepKey="parameterArrayReplacement" selector="#selector" parameterArray="[{{simpleData.firstname}}, {{simpleData.lastname}}]"/>

        <fillField stepKey="inputPrefixReplaceMSQPrefix" selector="#selector" userInput="StringBefore {{uniqueData.firstname}} StringAfter"/>
        <fillField stepKey="selectorReplaceMSQPrefix" selector="#{{uniqueData.firstname}}" userInput="input"/>
        <dragAndDrop stepKey="selector12ReplaceMSQPrefix" selector1="#{{uniqueData.firstname}}" selector2="{{uniqueData.firstname}}"/>
        <conditionalClick stepKey="dependentSelectorReplaceMSQPrefix" dependentSelector="#{{uniqueData.firstname}}" selector="{{uniqueData.firstname}}" visible="true"/>
        <amOnUrl stepKey="urlReplaceMSQPrefix" url="{{uniqueData.firstname}}.html"/>
        <searchAndMultiSelectOption stepKey="parameterArrayReplacementMSQPrefix" selector="#selector" parameterArray="[{{uniqueData.firstname}}, {{simpleData.lastname}}]"/>
        <click stepKey="selectorReplaceDupedMSQPrefix" selector="#{{uniqueData.firstname}}#{{uniqueData.firstname}}"/>
        <click stepKey="selectorReplaceDupedMSQSuffix" selector="#{{uniqueData.lastname}}#{{uniqueData.lastname}}"/>

        <fillField stepKey="inputReplaceMSQSuffix" selector="#selector" userInput="StringBefore {{uniqueData.lastname}} StringAfter"/>
        <fillField stepKey="selectorReplaceMSQSuffix" selector="#{{uniqueData.lastname}}" userInput="input"/>
        <dragAndDrop stepKey="selector12ReplaceMSQSuffix" selector1="#{{uniqueData.lastname}}" selector2="{{uniqueData.lastname}}"/>
        <conditionalClick stepKey="dependentSelectorReplaceMSQSuffix" dependentSelector="#{{uniqueData.lastname}}" selector="{{uniqueData.lastname}}" visible="true"/>
        <amOnUrl stepKey="urlReplaceMSQSuffix" url="{{uniqueData.lastname}}.html"/>
        <searchAndMultiSelectOption stepKey="parameterArrayReplacementMSQSuffix" selector="#selector" parameterArray="[{{simpleData.firstname}}, {{uniqueData.lastname}}]"/>
        <searchAndMultiSelectOption stepKey="parameterArrayReplacementMSQBoth" selector="#selector" parameterArray="[{{uniqueData.firstname}}, {{uniqueData.lastname}}]"/>
        <selectMultipleOptions filterSelector="#{{uniqueData.lastname}}" optionSelector="{{SampleSection.simpleElement}}" stepKey="multiSelectDataReplacement">
            <array>[{{uniqueData.firstname}}, {{uniqueData.lastname}}]</array>
        </selectMultipleOptions>

        <fillField stepKey="insertZero" selector=".selector" userInput="{{simpleData.favoriteIndex}}"/>
        <magentoCLI stepKey="insertCommand" command="do something {{uniqueData.lastname}} with uniqueness"/>

        <seeInPageSource html="StringBefore {{simpleData.firstname}} StringAfter" stepKey="htmlReplace1"/>
        <seeInPageSource html="#{{simpleData.firstname}}" stepKey="htmlReplace2"/>
        <seeInPageSource html="StringBefore {{uniqueData.firstname}} StringAfter" stepKey="htmlReplace3"/>
        <seeInPageSource html="#{{uniqueData.firstname}}" stepKey="htmlReplace4"/>
        <seeInPageSource html="#{{uniqueData.firstname}}#{{uniqueData.firstname}}" stepKey="htmlReplace5"/>
        <seeInPageSource html="StringBefore {{uniqueData.lastname}} StringAfter" stepKey="htmlReplace6"/>
        <seeInPageSource html="#{{uniqueData.lastname}}" stepKey="htmlReplace7"/>
        <seeInPageSource html="{{SampleSection.simpleElement}}" stepKey="htmlReplace8"/>
        <seeInPageSource html="StringBefore {{SampleSection.simpleElement}} StringAfter" stepKey="htmlReplace9"/>

        <dontSeeInPageSource html="StringBefore {{simpleData.firstname}} StringAfter" stepKey="htmlReplace10"/>
        <dontSeeInPageSource html="#{{simpleData.firstname}}" stepKey="htmlReplace11"/>
        <dontSeeInPageSource html="StringBefore {{uniqueData.firstname}} StringAfter" stepKey="htmlReplace12"/>
        <dontSeeInPageSource html="#{{uniqueData.firstname}}" stepKey="htmlReplace13"/>
        <dontSeeInPageSource html="#{{uniqueData.firstname}}#{{uniqueData.firstname}}" stepKey="htmlReplace14"/>
        <dontSeeInPageSource html="StringBefore {{uniqueData.lastname}} StringAfter" stepKey="htmlReplace15"/>
        <dontSeeInPageSource html="#{{uniqueData.lastname}}" stepKey="htmlReplace16"/>
        <dontSeeInPageSource html="{{SampleSection.simpleElement}}" stepKey="htmlReplace17"/>
        <dontSeeInPageSource html="StringBefore {{SampleSection.simpleElement}} StringAfter" stepKey="htmlReplace18"/>

        <seeInSource html="StringBefore {{simpleData.firstname}} StringAfter" stepKey="htmlReplace19"/>
        <seeInSource html="#{{simpleData.firstname}}" stepKey="htmlReplace20"/>
        <seeInSource html="StringBefore {{uniqueData.firstname}} StringAfter" stepKey="htmlReplace21"/>
        <seeInSource html="#{{uniqueData.firstname}}" stepKey="htmlReplace22"/>
        <seeInSource html="#{{uniqueData.firstname}}#{{uniqueData.firstname}}" stepKey="htmlReplace23"/>
        <seeInSource html="StringBefore {{uniqueData.lastname}} StringAfter" stepKey="htmlReplace24"/>
        <seeInSource html="#{{uniqueData.lastname}}" stepKey="htmlReplace25"/>
        <seeInSource html="{{SampleSection.simpleElement}}" stepKey="htmlReplace26"/>
        <seeInSource html="StringBefore {{SampleSection.simpleElement}} StringAfter" stepKey="htmlReplace27"/>

        <dontSeeInSource html="StringBefore {{simpleData.firstname}} StringAfter" stepKey="htmlReplace28"/>
        <dontSeeInSource html="#{{simpleData.firstname}}" stepKey="htmlReplace29"/>
        <dontSeeInSource html="StringBefore {{uniqueData.firstname}} StringAfter" stepKey="htmlReplace30"/>
        <dontSeeInSource html="#{{uniqueData.firstname}}" stepKey="htmlReplace31"/>
        <dontSeeInSource html="#{{uniqueData.firstname}}#{{uniqueData.firstname}}" stepKey="htmlReplace32"/>
        <dontSeeInSource html="StringBefore {{uniqueData.lastname}} StringAfter" stepKey="htmlReplace33"/>
        <dontSeeInSource html="#{{uniqueData.lastname}}" stepKey="htmlReplace34"/>
        <dontSeeInSource html="{{SampleSection.simpleElement}}" stepKey="htmlReplace35"/>
        <dontSeeInSource html="StringBefore {{SampleSection.simpleElement}} StringAfter" stepKey="htmlReplace36"/>
    </test>
</tests>