mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 09:02:12 +00:00
[API][Shop] Add customer login
This commit is contained in:
parent
649aa77c69
commit
0732d96305
13 changed files with 319 additions and 115 deletions
|
|
@ -22,18 +22,22 @@
|
|||
+ sylius.security.new_api_route: "/new-api"
|
||||
+ sylius.security.new_api_admin_route: "%sylius.security.new_api_route%/admin"
|
||||
+ sylius.security.new_api_admin_regex: "^%sylius.security.new_api_admin_route%"
|
||||
+ sylius.security.new_api_shop_route: "%sylius.security.new_api_route%/shop"
|
||||
+ sylius.security.new_api_shop_regex: "^%sylius.security.new_api_shop_route%"
|
||||
|
||||
security:
|
||||
providers:
|
||||
+ sylius_admin_api_user_provider:
|
||||
+ sylius_api_admin_user_provider:
|
||||
+ id: sylius.admin_user_provider.email_or_name_based
|
||||
+ sylius_api_shop_user_provider:
|
||||
+ id: sylius.shop_user_provider.email_or_name_based
|
||||
|
||||
firewalls:
|
||||
+ new_api_admin:
|
||||
+ pattern: "%sylius.security.new_api_admin_regex%/.*"
|
||||
+ stateless: true
|
||||
+ anonymous: true
|
||||
+ provider: sylius_admin_api_user_provider
|
||||
+ provider: sylius_api_admin_user_provider
|
||||
+ json_login:
|
||||
+ check_path: "%sylius.security.new_api_admin_route%/authentication-token"
|
||||
+ username_path: email
|
||||
|
|
@ -42,11 +46,28 @@
|
|||
+ failure_handler: lexik_jwt_authentication.handler.authentication_failure
|
||||
+ guard:
|
||||
+ authenticators:
|
||||
+ - lexik_jwt_authentication.jwt_token_authenticator
|
||||
|
||||
+ new_api_shop:
|
||||
+ pattern: "%sylius.security.new_api_shop_regex%/.*"
|
||||
+ stateless: true
|
||||
+ anonymous: true
|
||||
+ provider: sylius_api_shop_user_provider
|
||||
+ json_login:
|
||||
+ check_path: "%sylius.security.new_api_shop_route%/authentication-token"
|
||||
+ username_path: email
|
||||
+ password_path: password
|
||||
+ success_handler: lexik_jwt_authentication.handler.authentication_success
|
||||
+ failure_handler: lexik_jwt_authentication.handler.authentication_failure
|
||||
+ guard:
|
||||
+ authenticators:
|
||||
+ - lexik_jwt_authentication.jwt_token_authenticator
|
||||
|
||||
access_control:
|
||||
+ - { path: "%sylius.security.new_api_admin_regex%/authentication-token", role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
+ - { path: "%sylius.security.new_api_admin_regex%/.*", role: ROLE_API_ACCESS }
|
||||
+ - { path: "%sylius.security.new_api_shop_regex%/authentication-token", role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
+ - { path: "%sylius.security.new_api_shop_regex%/account", role: ROLE_USER }
|
||||
+ - { path: "%sylius.security.new_api_route%/docs", role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -5,16 +5,20 @@ parameters:
|
|||
sylius.security.new_api_route: "/new-api"
|
||||
sylius.security.new_api_admin_route: "%sylius.security.new_api_route%/admin"
|
||||
sylius.security.new_api_admin_regex: "^%sylius.security.new_api_admin_route%"
|
||||
sylius.security.new_api_shop_route: "%sylius.security.new_api_route%/shop"
|
||||
sylius.security.new_api_shop_regex: "^%sylius.security.new_api_shop_route%"
|
||||
|
||||
security:
|
||||
always_authenticate_before_granting: true
|
||||
providers:
|
||||
sylius_admin_user_provider:
|
||||
id: sylius.admin_user_provider.email_or_name_based
|
||||
sylius_admin_api_user_provider:
|
||||
sylius_api_admin_user_provider:
|
||||
id: sylius.admin_user_provider.email_or_name_based
|
||||
sylius_shop_user_provider:
|
||||
id: sylius.shop_user_provider.email_or_name_based
|
||||
sylius_api_shop_user_provider:
|
||||
id: sylius.shop_user_provider.email_or_name_based
|
||||
encoders:
|
||||
Sylius\Component\User\Model\UserInterface: argon2i
|
||||
firewalls:
|
||||
|
|
@ -53,7 +57,7 @@ security:
|
|||
pattern: "%sylius.security.new_api_admin_regex%/.*"
|
||||
stateless: true
|
||||
anonymous: true
|
||||
provider: sylius_admin_api_user_provider
|
||||
provider: sylius_api_admin_user_provider
|
||||
json_login:
|
||||
check_path: "%sylius.security.new_api_admin_route%/authentication-token"
|
||||
username_path: email
|
||||
|
|
@ -64,6 +68,21 @@ security:
|
|||
authenticators:
|
||||
- lexik_jwt_authentication.jwt_token_authenticator
|
||||
|
||||
new_api_shop:
|
||||
pattern: "%sylius.security.new_api_shop_regex%/.*"
|
||||
stateless: true
|
||||
anonymous: true
|
||||
provider: sylius_api_shop_user_provider
|
||||
json_login:
|
||||
check_path: "%sylius.security.new_api_shop_route%/authentication-token"
|
||||
username_path: email
|
||||
password_path: password
|
||||
success_handler: lexik_jwt_authentication.handler.authentication_success
|
||||
failure_handler: lexik_jwt_authentication.handler.authentication_failure
|
||||
guard:
|
||||
authenticators:
|
||||
- lexik_jwt_authentication.jwt_token_authenticator
|
||||
|
||||
api:
|
||||
pattern: "%sylius.security.api_regex%/.*"
|
||||
provider: sylius_admin_user_provider
|
||||
|
|
@ -125,4 +144,7 @@ security:
|
|||
- { path: "%sylius.security.new_api_admin_regex%/authentication-token", role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: "%sylius.security.new_api_admin_regex%/.*", role: ROLE_API_ACCESS }
|
||||
|
||||
- { path: "%sylius.security.new_api_shop_regex%/authentication-token", role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: "%sylius.security.new_api_shop_regex%/account", role: ROLE_USER }
|
||||
|
||||
- { path: "%sylius.security.new_api_route%/docs", role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Feature: Signing in to the store
|
|||
Given the store operates on a single channel in "United States"
|
||||
And there is a user "ted@example.com" identified by "bear"
|
||||
|
||||
@ui
|
||||
@ui @api
|
||||
Scenario: Sign in with email and password
|
||||
When I want to log in
|
||||
And I specify the username as "ted@example.com"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Feature: Signing in to the store validation
|
|||
Given the store operates on a single channel in "United States"
|
||||
And there is a user "ted@example.com" identified by "bear"
|
||||
|
||||
@ui
|
||||
@ui @api
|
||||
Scenario: Trying to sign in with bad credentials
|
||||
When I want to log in
|
||||
And I specify the username as "bear@example.com"
|
||||
|
|
@ -27,7 +27,7 @@ Feature: Signing in to the store validation
|
|||
Then I should be notified about disabled account
|
||||
And I should not be logged in
|
||||
|
||||
@ui
|
||||
@ui @api
|
||||
Scenario: Trying to sign in after my account was deleted
|
||||
Given my account "ted@example.com" was deleted
|
||||
When I want to log in
|
||||
|
|
|
|||
|
|
@ -15,14 +15,18 @@ final class ApiPlatformSecurityClient implements ApiSecurityClientInterface
|
|||
/** @var array */
|
||||
private $request = [];
|
||||
|
||||
public function __construct(AbstractBrowser $client)
|
||||
/** @var string */
|
||||
private $section;
|
||||
|
||||
public function __construct(AbstractBrowser $client, string $section)
|
||||
{
|
||||
$this->client = $client;
|
||||
$this->section = $section;
|
||||
}
|
||||
|
||||
public function prepareLoginRequest(): void
|
||||
{
|
||||
$this->request['url'] = '/new-api/admin/authentication-token';
|
||||
$this->request['url'] = sprintf('/new-api/%s/authentication-token', $this->section);
|
||||
$this->request['method'] = 'POST';
|
||||
}
|
||||
|
||||
|
|
|
|||
77
src/Sylius/Behat/Context/Api/Shop/LoginContext.php
Normal file
77
src/Sylius/Behat/Context/Api/Shop/LoginContext.php
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Sylius\Behat\Context\Api\Shop;
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
use Sylius\Behat\Client\ApiSecurityClientInterface;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
||||
final class LoginContext implements Context
|
||||
{
|
||||
/** @var ApiSecurityClientInterface */
|
||||
private $client;
|
||||
|
||||
public function __construct(ApiSecurityClientInterface $client)
|
||||
{
|
||||
$this->client = $client;
|
||||
}
|
||||
|
||||
/**
|
||||
* @When I want to log in
|
||||
*/
|
||||
public function iWantToLogIn(): void
|
||||
{
|
||||
$this->client->prepareLoginRequest();
|
||||
}
|
||||
|
||||
/**
|
||||
* @When I specify the username as :username
|
||||
*/
|
||||
public function iSpecifyTheUsername(string $username): void
|
||||
{
|
||||
$this->client->setEmail($username);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When I specify the password as :password
|
||||
*/
|
||||
public function iSpecifyThePasswordAs(string $password): void
|
||||
{
|
||||
$this->client->setPassword($password);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When I log in
|
||||
* @When I try to log in
|
||||
*/
|
||||
public function iLogIn(): void
|
||||
{
|
||||
$this->client->call();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then I should be logged in
|
||||
*/
|
||||
public function iShouldBeLoggedIn(): void
|
||||
{
|
||||
Assert::true($this->client->isLoggedIn(), 'Shop user should be logged in, but they are not.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then I should not be logged in
|
||||
*/
|
||||
public function iShouldNotBeLoggedIn(): void
|
||||
{
|
||||
Assert::false($this->client->isLoggedIn(), 'Shop user should not be logged in, but they are.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then I should be notified about bad credentials
|
||||
*/
|
||||
public function iShouldBeNotifiedAboutBadCredentials(): void
|
||||
{
|
||||
Assert::same($this->client->getErrorMessage(), 'Invalid credentials.');
|
||||
}
|
||||
}
|
||||
|
|
@ -107,8 +107,14 @@
|
|||
<argument type="service" id="test.client" />
|
||||
</service>
|
||||
|
||||
<service id="Sylius\Behat\Client\ApiSecurityClientInterface" class="Sylius\Behat\Client\ApiPlatformSecurityClient">
|
||||
<service id="sylius.behat.client.admin_api_platform_security_client" class="Sylius\Behat\Client\ApiPlatformSecurityClient">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument>admin</argument>
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.client.shop_api_platform_security_client" class="Sylius\Behat\Client\ApiPlatformSecurityClient">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument>shop</argument>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
|
|
|||
|
|
@ -11,109 +11,12 @@
|
|||
|
||||
-->
|
||||
|
||||
<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.api.admin.login" class="Sylius\Behat\Context\Api\Admin\LoginContext">
|
||||
<argument type="service" id="Sylius\Behat\Client\ApiSecurityClientInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_administrators" class="Sylius\Behat\Context\Api\Admin\ManagingAdministratorsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.administrator" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.avatar_image" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
<argument type="service" id="behat.mink.parameters" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_currencies" class="Sylius\Behat\Context\Api\Admin\ManagingCurrenciesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.currency" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_exchange_rates" class="Sylius\Behat\Context\Api\Admin\ManagingExchangeRatesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.exchange_rate" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_locales" class="Sylius\Behat\Context\Api\Admin\ManagingLocalesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.locale" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_product_options" class="Sylius\Behat\Context\Api\Admin\ManagingProductOptionsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.product_option" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_product_variants" class="Sylius\Behat\Context\Api\Admin\ManagingProductVariantsContext">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument type="service" id="session" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_products" class="Sylius\Behat\Context\Api\Admin\ManagingProductsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.products" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.product_review" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_tax_categories" class="Sylius\Behat\Context\Api\Admin\ManagingTaxCategoriesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.tax_category" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_taxons" class="Sylius\Behat\Context\Api\Admin\ManagingTaxonsContext">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument type="service" id="session" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_shipping_categories" class="Sylius\Behat\Context\Api\Admin\ManagingShippingCategoriesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipping_category" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_shipping_methods" class="Sylius\Behat\Context\Api\Admin\ManagingShippingMethodsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipping_method" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_product_reviews" class="Sylius\Behat\Context\Api\Admin\ManagingProductReviewsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.product_review" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_customer_groups" class="Sylius\Behat\Context\Api\Admin\ManagingCustomerGroupsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.customer_group" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_payments" class="Sylius\Behat\Context\Api\Admin\ManagingPaymentsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.payment" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_shipments" class="Sylius\Behat\Context\Api\Admin\ManagingShipmentsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipment" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_orders" class="Sylius\Behat\Context\Api\Admin\ManagingOrdersContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.order" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipment" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.payment" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
</services>
|
||||
<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"
|
||||
>
|
||||
<imports>
|
||||
<import resource="api/admin.xml" />
|
||||
<import resource="api/shop.xml" />
|
||||
</imports>
|
||||
</container>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,122 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
|
||||
This file is part of the Sylius package.
|
||||
|
||||
(c) Paweł Jędrzejewski
|
||||
|
||||
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.api.admin.login" class="Sylius\Behat\Context\Api\Admin\LoginContext">
|
||||
<argument type="service" id="sylius.behat.client.admin_api_platform_security_client" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_administrators" class="Sylius\Behat\Context\Api\Admin\ManagingAdministratorsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.administrator" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.avatar_image" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
<argument type="service" id="behat.mink.parameters" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_currencies" class="Sylius\Behat\Context\Api\Admin\ManagingCurrenciesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.currency" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_exchange_rates" class="Sylius\Behat\Context\Api\Admin\ManagingExchangeRatesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.exchange_rate" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_locales" class="Sylius\Behat\Context\Api\Admin\ManagingLocalesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.locale" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_product_options" class="Sylius\Behat\Context\Api\Admin\ManagingProductOptionsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.product_option" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_product_variants" class="Sylius\Behat\Context\Api\Admin\ManagingProductVariantsContext">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument type="service" id="session" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_products" class="Sylius\Behat\Context\Api\Admin\ManagingProductsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.products" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.product_review" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_tax_categories" class="Sylius\Behat\Context\Api\Admin\ManagingTaxCategoriesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.tax_category" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_taxons" class="Sylius\Behat\Context\Api\Admin\ManagingTaxonsContext">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument type="service" id="session" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_shipping_categories" class="Sylius\Behat\Context\Api\Admin\ManagingShippingCategoriesContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipping_category" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_shipping_methods" class="Sylius\Behat\Context\Api\Admin\ManagingShippingMethodsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipping_method" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_product_reviews" class="Sylius\Behat\Context\Api\Admin\ManagingProductReviewsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.product_review" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_customer_groups" class="Sylius\Behat\Context\Api\Admin\ManagingCustomerGroupsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.customer_group" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_payments" class="Sylius\Behat\Context\Api\Admin\ManagingPaymentsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.payment" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_shipments" class="Sylius\Behat\Context\Api\Admin\ManagingShipmentsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipment" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.managing_orders" class="Sylius\Behat\Context\Api\Admin\ManagingOrdersContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.order" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.shipment" />
|
||||
<argument type="service" id="sylius.behat.api_platform_client.payment" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<!--
|
||||
|
||||
This file is part of the Sylius package.
|
||||
|
||||
(c) Paweł Jędrzejewski
|
||||
|
||||
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.api.shop.login" class="Sylius\Behat\Context\Api\Shop\LoginContext">
|
||||
<argument type="service" id="sylius.behat.client.shop_api_platform_security_client" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
# (c) Paweł Jędrzejewski
|
||||
|
||||
imports:
|
||||
- suites/api/account/login.yml
|
||||
- suites/api/admin/login.yml
|
||||
- suites/api/currency/managing_currencies.yml
|
||||
- suites/api/currency/managing_exchange_rates.yml
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
# This file is part of the Sylius package.
|
||||
# (c) Paweł Jędrzejewski
|
||||
|
||||
default:
|
||||
suites:
|
||||
api_customer_login:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
|
||||
- sylius.behat.context.transform.user
|
||||
|
||||
- sylius.behat.context.setup.channel
|
||||
- sylius.behat.context.setup.user
|
||||
|
||||
- sylius.behat.context.api.shop.login
|
||||
|
||||
filters:
|
||||
tags: "@customer_login && @api"
|
||||
javascript: false
|
||||
|
|
@ -9,3 +9,7 @@ sylius_api:
|
|||
sylius_api_admin_authentication_token:
|
||||
path: /admin/authentication-token
|
||||
methods: ['POST']
|
||||
|
||||
sylius_api_shop_authentication_token:
|
||||
path: /shop/authentication-token
|
||||
methods: ['POST']
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue