<?xml version="1.0" encoding="UTF-8" ?>

<container xmlns="http://symfony.com/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
    <services>
        <defaults public="true" />

        <service
            id="Tests\Sylius\PayPalPlugin\Behat\Element\DownloadPayPalReportElement"
            parent="sylius.behat.element"
            public="false"
        />

        <service id="Tests\Sylius\PayPalPlugin\Behat\Context\Admin\ManagingOrdersContext">
            <argument type="service" id="sylius_abstraction.state_machine" />
            <argument type="service" id="sylius.manager.order" />
            <argument type="service" id="test.client" />
            <argument type="service" id="sylius.behat.page.admin.order.show" />
        </service>

        <service id="Tests\Sylius\PayPalPlugin\Behat\Context\Admin\ManagingPaymentMethodsContext">
            <argument type="service" id="Tests\Sylius\PayPalPlugin\Behat\Element\DownloadPayPalReportElement" />
            <argument type="service" id="sylius.behat.notification_checker.admin" />
            <argument type="service" id="sylius.behat.page.admin.payment_method.create" />
        </service>

        <service id="sylius.behat.context.ui.admin.managing_payment_methods" class="Sylius\Behat\Context\Ui\Admin\ManagingPaymentMethodsContext">
            <argument type="service" id="sylius.behat.page.admin.payment_method.create" />
            <argument type="service" id="sylius.behat.page.admin.payment_method.index" />
            <argument type="service" id="sylius.behat.page.admin.payment_method.update" />
            <argument type="service" id="sylius.behat.current_page_resolver" />
            <argument type="collection">
                <argument key="offline">Offline</argument>
                <argument key="paypal_express_checkout">Paypal Express Checkout</argument>
                <argument key="sylius_paypal">PayPal</argument>
                <argument key="stripe_checkout">Stripe Checkout</argument>
            </argument>
        </service>

        <service id="Tests\Sylius\PayPalPlugin\Behat\Context\Setup\PaymentPayPalContext">
            <argument type="service" id="sylius.behat.shared_storage" />
            <argument type="service" id="sylius.repository.payment_method" />
            <argument type="service" id="sylius.fixture.example_factory.payment_method" />
            <argument>%sylius.gateway_factories%</argument>
            <argument type="service" id="translator"/>
            <argument type="service" id="Tests\Sylius\PayPalPlugin\Behat\Page\Shop\Checkout\PayPalSelectPaymentPage"/>
            <argument>%env(resolve:TEST_CLIENT_ID)%</argument>
        </service>

        <service id="Tests\Sylius\PayPalPlugin\Behat\Page\Shop\Checkout\PayPalSelectPaymentPage" parent="sylius.behat.page.shop.checkout.select_payment" public="false"/>
    </services>
</container>
