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

<!--

 This file is part of the Sylius package.

 (c) Sylius Sp. z o.o.

 For the full copyright and license information, please view the LICENSE
 file that was distributed with this source code.

-->

<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="sylius.behat.context.domain.notification" class="Sylius\Behat\Context\Domain\NotificationContext">
        </service>

        <service id="sylius.behat.context.domain.managing_orders" class="Sylius\Behat\Context\Domain\ManagingOrdersContext">
            <argument type="service" id="sylius.behat.shared_storage" />
            <argument type="service" id="sylius.repository.order"/>
            <argument type="service" id="sylius.repository.order_item"/>
            <argument type="service" id="sylius.repository.address"/>
            <argument type="service" id="sylius.repository.adjustment"/>
            <argument type="service" id="sylius.manager.order"/>
            <argument type="service" id="Sylius\Component\Product\Resolver\ProductVariantResolverInterface"/>
            <argument type="service" id="sylius.unpaid_orders_state_updater" />
        </service>

        <service id="sylius.behat.context.domain.managing_payments" class="Sylius\Behat\Context\Domain\ManagingPaymentsContext">
            <argument type="service" id="sylius.repository.payment"/>
        </service>

        <service id="Sylius\Behat\Context\Domain\ManagingPriceHistoryContext">
            <argument type="service" id="sylius.repository.channel_pricing_log_entry" />
            <argument type="service" id="Sylius\Component\Product\Resolver\ProductVariantResolverInterface" />
            <argument type="service" id="Sylius\Bundle\CoreBundle\PriceHistory\Remover\ChannelPricingLogEntriesRemoverInterface" />
        </service>

        <service id="sylius.behat.context.domain.managing_products" class="Sylius\Behat\Context\Domain\ManagingProductsContext">
            <argument type="service" id="sylius.behat.shared_storage" />
            <argument type="service" id="sylius.repository.product" />
            <argument type="service" id="sylius.repository.product_variant" />
            <argument type="service" id="sylius.repository.product_review" />
        </service>

        <service id="sylius.behat.context.domain.managing_promotions" class="Sylius\Behat\Context\Domain\ManagingPromotionsContext">
            <argument type="service" id="sylius.behat.shared_storage" />
            <argument type="service" id="sylius.repository.promotion" />
            <argument type="service" id="sylius.manager.promotion" />
        </service>

        <service id="sylius.behat.context.domain.managing_promotion_coupons" class="Sylius\Behat\Context\Domain\ManagingPromotionCouponsContext">
            <argument type="service" id="sylius.behat.shared_storage" />
            <argument type="service" id="sylius.repository.promotion_coupon" />
        </service>

        <service id="sylius.behat.context.domain.security" class="Sylius\Behat\Context\Domain\SecurityContext">
        </service>

        <service id="sylius.behat.context.domain.managing_shipments" class="Sylius\Behat\Context\Domain\ManagingShipmentsContext">
            <argument type="service" id="sylius.repository.shipment"/>
        </service>

        <service id="sylius.behat.context.domain.cart" class="Sylius\Behat\Context\Domain\CartContext">
            <argument type="service" id="sylius.manager.order" />
            <argument type="service" id="sylius.expired_carts_remover" />
        </service>

        <service id="sylius.behat.context.domain.managing_shipping_methods" class="Sylius\Behat\Context\Domain\ManagingShippingMethodsContext">
            <argument type="service" id="sylius.repository.shipping_method" />
            <argument type="service" id="sylius.manager.shipping_method" />
        </service>
    </services>
</container>
