<?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/actionGroupSchema.xsd">
    <actionGroup name="AdminCreateApiDynamicBundleProductActionGroup">
        <annotations>
            <description>Creates 4 products with varying prices. Creates the bundle product with specified name. Adds the multiple select and checkbox options and 4 links to the created products. Uses the 'ApiBundleProduct' entity.</description>
        </annotations>
        <arguments>
            <argument name="productName" defaultValue="Api Dynamic Bundle Product" type="string"/>
        </arguments>

        <!--Create 4 simple products-->
        <createData entity="SimpleProduct2" stepKey="simpleProduct1">
            <field key="price">4.99</field>
        </createData>
        <createData entity="SimpleProduct2" stepKey="simpleProduct2">
            <field key="price">2.89</field>
        </createData>
        <createData entity="SimpleProduct2" stepKey="simpleProduct3">
            <field key="price">7.33</field>
        </createData>
        <createData entity="SimpleProduct2" stepKey="simpleProduct4">
            <field key="price">18.25</field>
        </createData>

        <!-- Create the bundle product based -->
        <createData entity="ApiBundleProduct" stepKey="createBundleProduct">
            <field key="name">{{productName}}</field>
        </createData>
        <createData entity="MultipleSelectOption" stepKey="createBundleOption1_1">
            <requiredEntity createDataKey="createBundleProduct"/>
            <field key="required">false</field>
        </createData>
        <createData entity="CheckboxOption" stepKey="createBundleOption1_2">
            <requiredEntity createDataKey="createBundleProduct"/>
        </createData>
        <createData entity="ApiBundleLink" stepKey="linkOptionToProduct">
            <requiredEntity createDataKey="createBundleProduct"/>
            <requiredEntity createDataKey="createBundleOption1_1"/>
            <requiredEntity createDataKey="simpleProduct1"/>
        </createData>
        <createData entity="ApiBundleLink" stepKey="linkOptionToProduct2">
            <requiredEntity createDataKey="createBundleProduct"/>
            <requiredEntity createDataKey="createBundleOption1_1"/>
            <requiredEntity createDataKey="simpleProduct2"/>
        </createData>
        <createData entity="ApiBundleLink" stepKey="linkOptionToProduct3">
            <requiredEntity createDataKey="createBundleProduct"/>
            <requiredEntity createDataKey="createBundleOption1_2"/>
            <requiredEntity createDataKey="simpleProduct3"/>
        </createData>
        <createData entity="ApiBundleLink" stepKey="linkOptionToProduct4">
            <requiredEntity createDataKey="createBundleProduct"/>
            <requiredEntity createDataKey="createBundleOption1_2"/>
            <requiredEntity createDataKey="simpleProduct4"/>
        </createData>

        <magentoCLI command="indexer:reindex" stepKey="runCronIndex"/>
    </actionGroup>
</actionGroups>
