<?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="AddSimpleFromCustomStockBySkuFromCustomerAccountTest" extends="AddSimpleProductBySkuFromCustomerAccountTest">
        <annotations>
            <stories value="Add simple product by sku from customer account, Additional Stock"/>
            <title value="Add simple product by sku from customer account, Additional Stock"/>
            <description value="Add simple product by sku from customer account on additional stock."/>
            <testCaseId value="https://app.hiptest.com/projects/69435/test-plan/folders/987821/scenarios/3364036"/>
            <severity value="MAJOR"/>
            <group value="msi_ee"/>
            <group value="multi_mode"/>
        </annotations>
        <before>
            <!--Create additional stock ans source.-->
            <createData entity="_minimalSource" stepKey="additionalSource" before="additionalStock"/>
            <createData entity="BasicMsiStockWithMainWebsite1" stepKey="additionalStock" before="stockSourceLink"/>
            <!--Link additional source with stock.-->
            <createData entity="SourceStockLinked1" stepKey="stockSourceLink" before="createSimpleProduct">
                <requiredEntity createDataKey="additionalStock"/>
                <requiredEntity createDataKey="additionalSource"/>
            </createData>
            <!--Assign create product to additional stock and set qty.-->
            <actionGroup ref="AdminLoginActionGroup" stepKey="loginToAdminPanel" after="createSimpleProduct"/>
            <amOnPage url="{{AdminProductEditPage.url($$createSimpleProduct.id$$)}}" stepKey="openProductEditPageToSetQty" after="loginToAdminPanel"/>
            <actionGroup ref="AssignSourceToProductActionGroup" stepKey="assignSourceToCreatedProduct" after="openProductEditPageToSetQty">
                <argument name="sourceCode" value="$$additionalSource.source[source_code]$$"/>
            </actionGroup>
            <fillField selector="{{AdminProductSourcesGrid.rowQty('1')}}" userInput="100" stepKey="setProductQuantity" after="assignSourceToCreatedProduct"/>
            <click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="saveProduct" after="setProductQuantity"/>
        </before>
        <after>
            <!--Assign Default Stock to Default Website.-->
            <actionGroup ref="AssignWebsiteToStockActionGroup" stepKey="assignMainWebsiteToDefaultStock" before="disableCreatedSource">
                <argument name="stockName" value="{{_defaultStock.name}}"/>
                <argument name="websiteName" value="{{_defaultWebsite.name}}"/>
            </actionGroup>
            <!--Disable additional source.-->
            <actionGroup ref="DisableSourceActionGroup" stepKey="disableCreatedSource" before="logout">
                <argument name="sourceCode" value="$$additionalSource.source[source_code]$$"/>
            </actionGroup>
            <actionGroup ref="AdminLogoutActionGroup" stepKey="logout" before="deleteStock"/>
            <deleteData createDataKey="additionalStock" stepKey="deleteStock" before="deleteSimpleProduct"/>
            <magentoCron groups="index" stepKey="reindex" after="deleteSimpleProduct"/>
        </after>
    </test>
</tests>
