diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ffb8c1d..277e599 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,23 +20,22 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: [ 8.0 ]
- symfony: [ ^5.4, ^6.0 ]
- sylius: [ ~1.11.0, ~1.12.0 ]
- node: [ 12.x ]
- mysql: [ 5.7, 8.0 ]
-
+ php: ["8.0", "8.1", "8.2", "8.3"]
+ symfony: ["^5.4", "^6.0"]
+ sylius: ["~1.12.0", "~1.13.0"]
+ node: ["20.x"]
+ mysql: ["5.7", "8.0"]
+
exclude:
- -
- sylius: ~1.11.0
- symfony: ^6.0
+ - sylius: "~1.13.0"
+ php: "8.0"
env:
APP_ENV: test
DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}"
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
@@ -47,7 +46,7 @@ jobs:
coverage: none
- name: Setup Node
- uses: actions/setup-node@v1
+ uses: actions/setup-node@v4
with:
node-version: "${{ matrix.node }}"
diff --git a/README.md b/README.md
index b9da7b6..a7be74a 100644
--- a/README.md
+++ b/README.md
@@ -183,13 +183,6 @@ sylius_fixtures:
clientId: "test"
region: de
```
-Configure config/packages/webpack_encore.yaml
-```yaml
- builds:
- *: *
- shop: '%kernel.project_dir%/public/build/shop'
- admin: '%kernel.project_dir%/public/build/admin'
-```
## Testing
diff --git a/composer.json b/composer.json
index bb61b8f..befbe41 100644
--- a/composer.json
+++ b/composer.json
@@ -10,13 +10,12 @@
"require": {
"php": "^8.0",
"amzn/amazon-pay-sdk-php": "^3.7",
- "sylius/sylius": "~1.11.0 || ~1.12.0",
- "symfony/webpack-encore-bundle": "^1.14"
+ "sylius/sylius": "~1.12.0 || ~1.13.0"
},
"require-dev": {
- "behat/behat": "^3.6.1",
- "behat/mink-selenium2-driver": "^1.4",
- "bitbag/coding-standard": "^1.0",
+ "behat/behat": "^3.7",
+ "behat/mink-selenium2-driver": "~1.6.0",
+ "bitbag/coding-standard": "^3.0",
"dmore/behat-chrome-extension": "^1.3",
"dmore/chrome-mink-driver": "^2.7",
"friends-of-behat/mink": "^1.8",
@@ -29,10 +28,10 @@
"friends-of-behat/variadic-extension": "^1.3",
"phpspec/phpspec": "^7.0",
"phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "0.12.85",
- "phpstan/phpstan-doctrine": "0.12.33",
- "phpstan/phpstan-strict-rules": "^0.12.0",
- "phpstan/phpstan-webmozart-assert": "0.12.12",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-doctrine": "^1.3",
+ "phpstan/phpstan-strict-rules": "^1.3",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.5",
"polishsymfonycommunity/symfony-mocker-container": "^1.0",
"symfony/browser-kit": "^5.4 || ^6.0",
@@ -40,7 +39,8 @@
"symfony/dotenv": "^5.4 || ^6.0",
"symfony/intl": "^5.4 || ^6.0",
"symfony/web-profiler-bundle": "^5.4 || ^6.0",
- "vimeo/psalm": "4.7.1 || ^5.0"
+ "vimeo/psalm": "4.7.1 || ^5.0",
+ "symfony/webpack-encore-bundle": "^1.14"
},
"config": {
"sort-packages": true,
@@ -51,6 +51,9 @@
"symfony/flex": true
}
},
+ "conflict": {
+ "doctrine/persistence": "<3.0"
+ },
"autoload": {
"psr-4": {
"BitBag\\SyliusAmazonPayPlugin\\": "src/",
diff --git a/ecs.php b/ecs.php
index b088160..abcfbcf 100644
--- a/ecs.php
+++ b/ecs.php
@@ -2,15 +2,12 @@
declare(strict_types=1);
-use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
-use Symplify\EasyCodingStandard\ValueObject\Option;
+use Symplify\EasyCodingStandard\Config\ECSConfig;
-return static function (ContainerConfigurator $containerConfigurator): void {
- $containerConfigurator->import('vendor/bitbag/coding-standard/ecs.php');
+return static function (ECSConfig $config): void {
- $parameters = $containerConfigurator->parameters();
- $parameters->set(Option::PATHS, [
- __DIR__ . '/src',
- __DIR__ . '/tests',
- ]);
+ putenv('ALLOW_BITBAG_OS_HEADER=1');
+
+ $config->import('vendor/bitbag/coding-standard/ecs.php');
+ $config->paths(['src', 'tests']);
};
diff --git a/phpstan.neon b/phpstan.neon
index fb49206..aeb9621 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,13 +1,11 @@
-includes:
- - vendor/phpstan/phpstan-doctrine/extension.neon
- - vendor/phpstan/phpstan-symfony/extension.neon
- - vendor/phpstan/phpstan-webmozart-assert/extension.neon
-
parameters:
- reportUnmatchedIgnoredErrors: false
+ level: 8
- symfony:
- container_xml_path: tests/Application/var/cache/test/ApplicationTests_BitBag_SyliusAmazonPayPlugin_Application_KernelTestDebugContainer.xml
+ paths:
+ - src
+
+ reportUnmatchedIgnoredErrors: false
+ treatPhpDocTypesAsCertain: false
excludes_analyse:
# Makes PHPStan crash
@@ -18,4 +16,5 @@ parameters:
- 'tests/Application/src/**.php'
ignoreErrors:
- - '/Parameter #1 $configuration of method Symfony\Component\DependencyInjection\Extension\Extension::processConfiguration() expects Symfony\Component\Config\Definition\ConfigurationInterface, Symfony\Component\Config\Definition\ConfigurationInterface|null given./'
+ - identifier: missingType.iterableValue
+ - identifier: missingType.generics
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index b77d8ff..9f7b4dc 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,25 +1,22 @@
-
+
tests
-
-
+
+
-
-
-
-
+
+
diff --git a/src/AmazonPayGatewayFactory.php b/src/AmazonPayGatewayFactory.php
index 06b89bd..114f2da 100644
--- a/src/AmazonPayGatewayFactory.php
+++ b/src/AmazonPayGatewayFactory.php
@@ -1,10 +1,11 @@
paymentRepository->findAllByGatewayFactoryNameAndState(
AmazonPayGatewayFactory::FACTORY_NAME,
- PaymentInterface::STATE_PROCESSING
+ PaymentInterface::STATE_PROCESSING,
);
foreach ($payments as $payment) {
diff --git a/src/Client/AmazonPayApiClient.php b/src/Client/AmazonPayApiClient.php
index d32a909..0cee695 100644
--- a/src/Client/AmazonPayApiClient.php
+++ b/src/Client/AmazonPayApiClient.php
@@ -1,10 +1,11 @@
cartContext = $cartContext;
$this->paymentMethodResolver = $paymentMethodResolver;
diff --git a/src/Controller/Action/AmazonPayStartAction.php b/src/Controller/Action/AmazonPayStartAction.php
index d25fabe..58e22b4 100644
--- a/src/Controller/Action/AmazonPayStartAction.php
+++ b/src/Controller/Action/AmazonPayStartAction.php
@@ -1,10 +1,11 @@
templating->render('BitBagSyliusAmazonPayPlugin:AmazonPay:amazonPayStart.html.twig')
+ $this->templating->render('BitBagSyliusAmazonPayPlugin:AmazonPay:amazonPayStart.html.twig'),
);
}
}
diff --git a/src/Controller/Action/AuthorizePaymentAction.php b/src/Controller/Action/AuthorizePaymentAction.php
index 0cd1dcb..d26ab0c 100644
--- a/src/Controller/Action/AuthorizePaymentAction.php
+++ b/src/Controller/Action/AuthorizePaymentAction.php
@@ -1,10 +1,11 @@
cartContext = $cartContext;
$this->amazonPayApiClient = $amazonPayApiClient;
@@ -90,7 +91,7 @@ public function __invoke(Request $request): Response
return new JsonResponse(
'Payment method invalid',
- Response::HTTP_BAD_REQUEST
+ Response::HTTP_BAD_REQUEST,
);
}
@@ -113,7 +114,7 @@ public function __invoke(Request $request): Response
return new JsonResponse(
'Payment method invalid',
- Response::HTTP_BAD_REQUEST
+ Response::HTTP_BAD_REQUEST,
);
}
@@ -156,7 +157,7 @@ public function __invoke(Request $request): Response
return new JsonResponse(
'Failed payment',
- Response::HTTP_BAD_REQUEST
+ Response::HTTP_BAD_REQUEST,
);
}
diff --git a/src/Controller/Action/CheckoutStartAction.php b/src/Controller/Action/CheckoutStartAction.php
index 9dcfd17..83e9d35 100644
--- a/src/Controller/Action/CheckoutStartAction.php
+++ b/src/Controller/Action/CheckoutStartAction.php
@@ -1,10 +1,11 @@
cartContext = $cartContext;
$this->orderEntityManager = $orderEntityManager;
diff --git a/src/Controller/Action/OrderReferenceCreateAction.php b/src/Controller/Action/OrderReferenceCreateAction.php
index 21e4e1e..a2500b0 100644
--- a/src/Controller/Action/OrderReferenceCreateAction.php
+++ b/src/Controller/Action/OrderReferenceCreateAction.php
@@ -1,10 +1,11 @@
cartContext = $cartContext;
$this->amazonPayApiClient = $amazonPayApiClient;
diff --git a/src/DependencyInjection/BitBagSyliusAmazonPayExtension.php b/src/DependencyInjection/BitBagSyliusAmazonPayExtension.php
index 4c2fa4a..075c7ed 100644
--- a/src/DependencyInjection/BitBagSyliusAmazonPayExtension.php
+++ b/src/DependencyInjection/BitBagSyliusAmazonPayExtension.php
@@ -1,10 +1,11 @@
paymentMethodRepository->findAllEnabledByFactoryNameAndChannel(
$factoryName,
- $this->channelContext->getChannel()
+ $this->channelContext->getChannel(),
);
return 0 < count($paymentMethods) ? $paymentMethods[0] : null;
diff --git a/src/Resolver/PaymentMethodResolverInterface.php b/src/Resolver/PaymentMethodResolverInterface.php
index 8d473e0..66f5a12 100644
--- a/src/Resolver/PaymentMethodResolverInterface.php
+++ b/src/Resolver/PaymentMethodResolverInterface.php
@@ -1,10 +1,11 @@
stateMachineFactory = $stateMachineFactory;
$this->amazonPayApiClient = $amazonPayApiClient;
diff --git a/src/Resolver/PaymentStateResolverInterface.php b/src/Resolver/PaymentStateResolverInterface.php
index 32fd59b..c99d6ea 100644
--- a/src/Resolver/PaymentStateResolverInterface.php
+++ b/src/Resolver/PaymentStateResolverInterface.php
@@ -1,10 +1,11 @@
templating = $templating;
$this->paymentMethodResolver = $paymentMethodResolver;
diff --git a/src/Twig/Extension/RenderLoginButtonExtension.php b/src/Twig/Extension/RenderLoginButtonExtension.php
index c08858b..ca98cae 100644
--- a/src/Twig/Extension/RenderLoginButtonExtension.php
+++ b/src/Twig/Extension/RenderLoginButtonExtension.php
@@ -1,10 +1,11 @@
templating = $templating;
$this->paymentMethodResolver = $paymentMethodResolver;
diff --git a/src/Twig/Extension/RenderWalletWidgetExtension.php b/src/Twig/Extension/RenderWalletWidgetExtension.php
index 39ce42e..aec028b 100644
--- a/src/Twig/Extension/RenderWalletWidgetExtension.php
+++ b/src/Twig/Extension/RenderWalletWidgetExtension.php
@@ -1,10 +1,11 @@
templating = $templating;
$this->paymentMethodResolver = $paymentMethodResolver;
diff --git a/tests/Application/.babelrc b/tests/Application/.babelrc
deleted file mode 100644
index e563a62..0000000
--- a/tests/Application/.babelrc
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "presets": [
- ["env", {
- "targets": {
- "node": "6"
- },
- "useBuiltIns": true
- }]
- ],
- "plugins": [
- ["transform-object-rest-spread", {
- "useBuiltIns": true
- }]
- ]
-}
diff --git a/tests/Application/config/bootstrap.php b/tests/Application/config/bootstrap.php
index 2291ab4..450a654 100644
--- a/tests/Application/config/bootstrap.php
+++ b/tests/Application/config/bootstrap.php
@@ -1,5 +1,12 @@
['all' => true],
Sylius\Bundle\ApiBundle\SyliusApiBundle::class => ['all' => true],
SyliusLabs\DoctrineMigrationsExtraBundle\SyliusLabsDoctrineMigrationsExtraBundle::class => ['all' => true],
+ BabDev\PagerfantaBundle\BabDevPagerfantaBundle::class => ['all' => true],
+ SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true],
+ Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true],
+ League\FlysystemBundle\FlysystemBundle::class => ['all' => true],
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
];
diff --git a/tests/Application/config/sylius/1.11/bundles.php b/tests/Application/config/sylius/1.11/bundles.php
deleted file mode 100644
index d216ac1..0000000
--- a/tests/Application/config/sylius/1.11/bundles.php
+++ /dev/null
@@ -1,16 +0,0 @@
- ['all' => true],
- SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true],
- Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true],
- Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
-];
diff --git a/tests/Application/config/sylius/1.11/packages/dev/framework.yaml b/tests/Application/config/sylius/1.11/packages/dev/framework.yaml
deleted file mode 100644
index 4b116de..0000000
--- a/tests/Application/config/sylius/1.11/packages/dev/framework.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-framework:
- profiler: { only_exceptions: false }
diff --git a/tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml
deleted file mode 100644
index f438078..0000000
--- a/tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-swiftmailer:
- disable_delivery: true
diff --git a/tests/Application/config/sylius/1.11/packages/security.yaml b/tests/Application/config/sylius/1.11/packages/security.yaml
deleted file mode 100644
index 1062810..0000000
--- a/tests/Application/config/sylius/1.11/packages/security.yaml
+++ /dev/null
@@ -1,148 +0,0 @@
-parameters:
- sylius.security.admin_regex: "^/%sylius_admin.path_name%"
- sylius.security.api_regex: "^/api"
- sylius.security.shop_regex: "^/(?!%sylius_admin.path_name%|new-api|api/.*|api$|media/.*)[^/]++"
- sylius.security.new_api_route: "/new-api"
- sylius.security.new_api_regex: "^%sylius.security.new_api_route%"
- 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_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
- sylius_api_chain_provider:
- chain:
- providers: [sylius_api_shop_user_provider, sylius_api_admin_user_provider]
-
- encoders:
- Sylius\Component\User\Model\UserInterface: argon2i
- firewalls:
- admin:
- switch_user: true
- context: admin
- pattern: "%sylius.security.admin_regex%"
- provider: sylius_admin_user_provider
- form_login:
- provider: sylius_admin_user_provider
- login_path: sylius_admin_login
- check_path: sylius_admin_login_check
- failure_path: sylius_admin_login
- default_target_path: sylius_admin_dashboard
- use_forward: false
- use_referer: true
- csrf_token_generator: security.csrf.token_manager
- csrf_parameter: _csrf_admin_security_token
- csrf_token_id: admin_authenticate
- remember_me:
- secret: "%env(APP_SECRET)%"
- path: "/%sylius_admin.path_name%"
- name: APP_ADMIN_REMEMBER_ME
- lifetime: 31536000
- remember_me_parameter: _remember_me
- logout:
- path: sylius_admin_logout
- target: sylius_admin_login
- anonymous: true
-
- new_api_admin_user:
- pattern: "%sylius.security.new_api_route%/admin-user-authentication-token"
- provider: sylius_admin_user_provider
- stateless: true
- anonymous: true
- json_login:
- check_path: "%sylius.security.new_api_route%/admin-user-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
-
- new_api_shop_user:
- pattern: "%sylius.security.new_api_route%/shop-user-authentication-token"
- provider: sylius_shop_user_provider
- stateless: true
- anonymous: true
- json_login:
- check_path: "%sylius.security.new_api_route%/shop-user-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
-
- new_api:
- pattern: "%sylius.security.new_api_regex%/*"
- provider: sylius_api_chain_provider
- stateless: true
- anonymous: lazy
- guard:
- authenticators:
- - lexik_jwt_authentication.jwt_token_authenticator
-
- shop:
- switch_user: { role: ROLE_ALLOWED_TO_SWITCH }
- context: shop
- pattern: "%sylius.security.shop_regex%"
- provider: sylius_shop_user_provider
- form_login:
- success_handler: sylius.authentication.success_handler
- failure_handler: sylius.authentication.failure_handler
- provider: sylius_shop_user_provider
- login_path: sylius_shop_login
- check_path: sylius_shop_login_check
- failure_path: sylius_shop_login
- default_target_path: sylius_shop_homepage
- use_forward: false
- use_referer: true
- csrf_token_generator: security.csrf.token_manager
- csrf_parameter: _csrf_shop_security_token
- csrf_token_id: shop_authenticate
- remember_me:
- secret: "%env(APP_SECRET)%"
- name: APP_SHOP_REMEMBER_ME
- lifetime: 31536000
- remember_me_parameter: _remember_me
- logout:
- path: sylius_shop_logout
- target: sylius_shop_login
- invalidate_session: false
- success_handler: sylius.handler.shop_user_logout
- anonymous: true
-
- dev:
- pattern: ^/(_(profiler|wdt)|css|images|js)/
- security: false
-
- access_control:
- - { path: "%sylius.security.admin_regex%/_partial", role: IS_AUTHENTICATED_ANONYMOUSLY, ips: [127.0.0.1, ::1] }
- - { path: "%sylius.security.admin_regex%/_partial", role: ROLE_NO_ACCESS }
- - { path: "%sylius.security.shop_regex%/_partial", role: IS_AUTHENTICATED_ANONYMOUSLY, ips: [127.0.0.1, ::1] }
- - { path: "%sylius.security.shop_regex%/_partial", role: ROLE_NO_ACCESS }
-
- - { path: "%sylius.security.admin_regex%/login", role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: "%sylius.security.api_regex%/login", role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: "%sylius.security.shop_regex%/login", role: IS_AUTHENTICATED_ANONYMOUSLY }
-
- - { path: "%sylius.security.shop_regex%/register", role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: "%sylius.security.shop_regex%/verify", role: IS_AUTHENTICATED_ANONYMOUSLY }
-
- - { path: "%sylius.security.admin_regex%", role: ROLE_ADMINISTRATION_ACCESS }
- - { path: "%sylius.security.api_regex%/.*", role: ROLE_API_ACCESS }
- - { path: "%sylius.security.shop_regex%/account", role: ROLE_USER }
-
- - { path: "%sylius.security.new_api_admin_regex%/.*", role: ROLE_API_ACCESS }
- - { path: "%sylius.security.new_api_shop_regex%/.*", role: IS_AUTHENTICATED_ANONYMOUSLY }
diff --git a/tests/Application/config/sylius/1.11/packages/staging/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/staging/swiftmailer.yaml
deleted file mode 100644
index f438078..0000000
--- a/tests/Application/config/sylius/1.11/packages/staging/swiftmailer.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-swiftmailer:
- disable_delivery: true
diff --git a/tests/Application/config/sylius/1.11/packages/test/framework.yaml b/tests/Application/config/sylius/1.11/packages/test/framework.yaml
deleted file mode 100644
index 76d7e5e..0000000
--- a/tests/Application/config/sylius/1.11/packages/test/framework.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-framework:
- test: ~
- session:
- storage_id: session.storage.mock_file
diff --git a/tests/Application/config/sylius/1.11/packages/test/security.yaml b/tests/Application/config/sylius/1.11/packages/test/security.yaml
deleted file mode 100644
index 21cc377..0000000
--- a/tests/Application/config/sylius/1.11/packages/test/security.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-security:
- encoders:
- sha512: sha512
diff --git a/tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml
deleted file mode 100644
index c438f4b..0000000
--- a/tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-swiftmailer:
- disable_delivery: true
- logging: true
- spool:
- type: file
- path: "%kernel.cache_dir%/spool"
diff --git a/tests/Application/config/sylius/1.11/packages/test_cached/security.yaml b/tests/Application/config/sylius/1.11/packages/test_cached/security.yaml
deleted file mode 100644
index 21cc377..0000000
--- a/tests/Application/config/sylius/1.11/packages/test_cached/security.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-security:
- encoders:
- sha512: sha512
diff --git a/tests/Application/config/sylius/1.11/packages/test_cached/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/test_cached/swiftmailer.yaml
deleted file mode 100644
index c438f4b..0000000
--- a/tests/Application/config/sylius/1.11/packages/test_cached/swiftmailer.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-swiftmailer:
- disable_delivery: true
- logging: true
- spool:
- type: file
- path: "%kernel.cache_dir%/spool"
diff --git a/tests/Application/config/sylius/1.12/bundles.php b/tests/Application/config/sylius/1.12/bundles.php
deleted file mode 100644
index c157876..0000000
--- a/tests/Application/config/sylius/1.12/bundles.php
+++ /dev/null
@@ -1,16 +0,0 @@
- ['all' => true],
- SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true],
- Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true],
- League\FlysystemBundle\FlysystemBundle::class => ['all' => true],
-];
diff --git a/tests/Application/config/sylius/1.12/packages/security.yaml b/tests/Application/config/sylius/1.12/packages/security.yaml
index 6541d9a..8125480 100644
--- a/tests/Application/config/sylius/1.12/packages/security.yaml
+++ b/tests/Application/config/sylius/1.12/packages/security.yaml
@@ -3,17 +3,9 @@ security:
argon2i:
algorithm: argon2i
migrate_from: { }
- hash_algorithm: sha512
- key_length: 40
- ignore_case: false
- encode_as_base64: true
- iterations: 5000
- cost: 4
- memory_cost: 4
- time_cost: 4
Sylius\Component\User\Model\UserInterface:
algorithm: argon2i
-
+
enable_authenticator_manager: true
providers:
sylius_admin_user_provider:
@@ -24,7 +16,7 @@ security:
id: sylius.shop_user_provider.email_or_name_based
sylius_api_shop_user_provider:
id: sylius.shop_user_provider.email_or_name_based
-
+
firewalls:
admin:
switch_user: true
@@ -51,7 +43,7 @@ security:
logout:
path: sylius_admin_logout
target: sylius_admin_login
-
+
new_api_admin_user:
pattern: "%sylius.security.new_api_admin_regex%/.*"
provider: sylius_api_admin_user_provider
@@ -64,7 +56,7 @@ security:
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
jwt: true
-
+
new_api_shop_user:
pattern: "%sylius.security.new_api_shop_regex%/.*"
provider: sylius_api_shop_user_provider
@@ -77,7 +69,7 @@ security:
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
jwt: true
-
+
shop:
switch_user: { role: ROLE_ALLOWED_TO_SWITCH }
context: shop
@@ -105,30 +97,30 @@ security:
path: sylius_shop_logout
target: sylius_shop_homepage
invalidate_session: false
-
+
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
-
+
image_resolver:
pattern: ^/media/cache/resolve
security: false
-
+
access_control:
- { path: "%sylius.security.admin_regex%/_partial", role: PUBLIC_ACCESS, ips: [127.0.0.1, ::1] }
- { path: "%sylius.security.admin_regex%/_partial", role: ROLE_NO_ACCESS }
- { path: "%sylius.security.shop_regex%/_partial", role: PUBLIC_ACCESS, ips: [127.0.0.1, ::1] }
- { path: "%sylius.security.shop_regex%/_partial", role: ROLE_NO_ACCESS }
-
+
- { path: "%sylius.security.admin_regex%/login", role: PUBLIC_ACCESS }
- { path: "%sylius.security.shop_regex%/login", role: PUBLIC_ACCESS }
-
+
- { path: "%sylius.security.shop_regex%/register", role: PUBLIC_ACCESS }
- { path: "%sylius.security.shop_regex%/verify", role: PUBLIC_ACCESS }
-
+
- { path: "%sylius.security.admin_regex%", role: ROLE_ADMINISTRATION_ACCESS }
- { path: "%sylius.security.shop_regex%/account", role: ROLE_USER }
-
+
- { path: "%sylius.security.new_api_admin_route%/reset-password-requests", role: PUBLIC_ACCESS }
- { path: "%sylius.security.new_api_admin_regex%/.*", role: ROLE_API_ACCESS }
- { path: "%sylius.security.new_api_admin_route%/authentication-token", role: PUBLIC_ACCESS }
diff --git a/tests/Application/config/sylius/1.13/bundles.php b/tests/Application/config/sylius/1.13/bundles.php
new file mode 100644
index 0000000..e615f85
--- /dev/null
+++ b/tests/Application/config/sylius/1.13/bundles.php
@@ -0,0 +1,14 @@
+ ['all' => true],
+];
diff --git a/tests/Application/config/sylius/1.13/packages/mailer.yaml b/tests/Application/config/sylius/1.13/packages/mailer.yaml
new file mode 100644
index 0000000..0a0697c
--- /dev/null
+++ b/tests/Application/config/sylius/1.13/packages/mailer.yaml
@@ -0,0 +1,3 @@
+framework:
+ mailer:
+ dsn: '%env(MAILER_DSN)%'
diff --git a/tests/Application/config/sylius/1.13/packages/security.yaml b/tests/Application/config/sylius/1.13/packages/security.yaml
new file mode 100644
index 0000000..8125480
--- /dev/null
+++ b/tests/Application/config/sylius/1.13/packages/security.yaml
@@ -0,0 +1,129 @@
+security:
+ password_hashers:
+ argon2i:
+ algorithm: argon2i
+ migrate_from: { }
+ Sylius\Component\User\Model\UserInterface:
+ algorithm: argon2i
+
+ enable_authenticator_manager: true
+ providers:
+ sylius_admin_user_provider:
+ id: sylius.admin_user_provider.email_or_name_based
+ 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
+
+ firewalls:
+ admin:
+ switch_user: true
+ context: admin
+ pattern: "%sylius.security.admin_regex%"
+ provider: sylius_admin_user_provider
+ form_login:
+ provider: sylius_admin_user_provider
+ login_path: sylius_admin_login
+ check_path: sylius_admin_login_check
+ failure_path: sylius_admin_login
+ default_target_path: sylius_admin_dashboard
+ use_forward: false
+ use_referer: true
+ enable_csrf: true
+ csrf_parameter: _csrf_admin_security_token
+ csrf_token_id: admin_authenticate
+ remember_me:
+ secret: "%env(APP_SECRET)%"
+ path: "/%sylius_admin.path_name%"
+ name: APP_ADMIN_REMEMBER_ME
+ lifetime: 31536000
+ remember_me_parameter: _remember_me
+ logout:
+ path: sylius_admin_logout
+ target: sylius_admin_login
+
+ new_api_admin_user:
+ pattern: "%sylius.security.new_api_admin_regex%/.*"
+ provider: sylius_api_admin_user_provider
+ stateless: true
+ entry_point: jwt
+ json_login:
+ check_path: "%sylius.security.new_api_admin_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
+ jwt: true
+
+ new_api_shop_user:
+ pattern: "%sylius.security.new_api_shop_regex%/.*"
+ provider: sylius_api_shop_user_provider
+ stateless: true
+ entry_point: jwt
+ 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
+ jwt: true
+
+ shop:
+ switch_user: { role: ROLE_ALLOWED_TO_SWITCH }
+ context: shop
+ pattern: "%sylius.security.shop_regex%"
+ provider: sylius_shop_user_provider
+ form_login:
+ success_handler: sylius.authentication.success_handler
+ failure_handler: sylius.authentication.failure_handler
+ provider: sylius_shop_user_provider
+ login_path: sylius_shop_login
+ check_path: sylius_shop_login_check
+ failure_path: sylius_shop_login
+ default_target_path: sylius_shop_homepage
+ use_forward: false
+ use_referer: true
+ enable_csrf: true
+ csrf_parameter: _csrf_shop_security_token
+ csrf_token_id: shop_authenticate
+ remember_me:
+ secret: "%env(APP_SECRET)%"
+ name: APP_SHOP_REMEMBER_ME
+ lifetime: 31536000
+ remember_me_parameter: _remember_me
+ logout:
+ path: sylius_shop_logout
+ target: sylius_shop_homepage
+ invalidate_session: false
+
+ dev:
+ pattern: ^/(_(profiler|wdt)|css|images|js)/
+ security: false
+
+ image_resolver:
+ pattern: ^/media/cache/resolve
+ security: false
+
+ access_control:
+ - { path: "%sylius.security.admin_regex%/_partial", role: PUBLIC_ACCESS, ips: [127.0.0.1, ::1] }
+ - { path: "%sylius.security.admin_regex%/_partial", role: ROLE_NO_ACCESS }
+ - { path: "%sylius.security.shop_regex%/_partial", role: PUBLIC_ACCESS, ips: [127.0.0.1, ::1] }
+ - { path: "%sylius.security.shop_regex%/_partial", role: ROLE_NO_ACCESS }
+
+ - { path: "%sylius.security.admin_regex%/login", role: PUBLIC_ACCESS }
+ - { path: "%sylius.security.shop_regex%/login", role: PUBLIC_ACCESS }
+
+ - { path: "%sylius.security.shop_regex%/register", role: PUBLIC_ACCESS }
+ - { path: "%sylius.security.shop_regex%/verify", role: PUBLIC_ACCESS }
+
+ - { path: "%sylius.security.admin_regex%", role: ROLE_ADMINISTRATION_ACCESS }
+ - { path: "%sylius.security.shop_regex%/account", role: ROLE_USER }
+
+ - { path: "%sylius.security.new_api_admin_route%/reset-password-requests", role: PUBLIC_ACCESS }
+ - { path: "%sylius.security.new_api_admin_regex%/.*", role: ROLE_API_ACCESS }
+ - { path: "%sylius.security.new_api_admin_route%/authentication-token", role: PUBLIC_ACCESS }
+ - { path: "%sylius.security.new_api_user_account_regex%/.*", role: ROLE_USER }
+ - { path: "%sylius.security.new_api_shop_route%/authentication-token", role: PUBLIC_ACCESS }
+ - { path: "%sylius.security.new_api_shop_regex%/.*", role: PUBLIC_ACCESS }
diff --git a/tests/Application/config/sylius/1.13/packages/test/mailer.yaml b/tests/Application/config/sylius/1.13/packages/test/mailer.yaml
new file mode 100644
index 0000000..56cc28f
--- /dev/null
+++ b/tests/Application/config/sylius/1.13/packages/test/mailer.yaml
@@ -0,0 +1,7 @@
+framework:
+ mailer:
+ dsn: 'null://null'
+ cache:
+ pools:
+ test.mailer_pool:
+ adapter: cache.adapter.filesystem
diff --git a/tests/Application/config/symfony/4.4/packages/framework.yaml b/tests/Application/config/symfony/4.4/packages/framework.yaml
deleted file mode 100644
index 62f82d3..0000000
--- a/tests/Application/config/symfony/4.4/packages/framework.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-framework:
- templating: { engines: ["twig"] }
diff --git a/tests/Application/gulpfile.babel.js b/tests/Application/gulpfile.babel.js
deleted file mode 100644
index 5920316..0000000
--- a/tests/Application/gulpfile.babel.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import chug from 'gulp-chug';
-import gulp from 'gulp';
-import yargs from 'yargs';
-
-const { argv } = yargs
- .options({
- rootPath: {
- description: ' path to public assets directory',
- type: 'string',
- requiresArg: true,
- required: false,
- },
- nodeModulesPath: {
- description: ' path to node_modules directory',
- type: 'string',
- requiresArg: true,
- required: false,
- },
- });
-
-const config = [
- '--rootPath',
- argv.rootPath || '../../../../../../../tests/Application/public/assets',
- '--nodeModulesPath',
- argv.nodeModulesPath || '../../../../../../../tests/Application/node_modules',
-];
-
-export const buildAdmin = function buildAdmin() {
- return gulp.src('../../vendor/sylius/sylius/src/Sylius/Bundle/AdminBundle/gulpfile.babel.js', { read: false })
- .pipe(chug({ args: config, tasks: 'build' }));
-};
-buildAdmin.description = 'Build admin assets.';
-
-export const watchAdmin = function watchAdmin() {
- return gulp.src('../../vendor/sylius/sylius/src/Sylius/Bundle/AdminBundle/gulpfile.babel.js', { read: false })
- .pipe(chug({ args: config, tasks: 'watch' }));
-};
-watchAdmin.description = 'Watch admin asset sources and rebuild on changes.';
-
-export const buildShop = function buildShop() {
- return gulp.src('../../vendor/sylius/sylius/src/Sylius/Bundle/ShopBundle/gulpfile.babel.js', { read: false })
- .pipe(chug({ args: config, tasks: 'build' }));
-};
-buildShop.description = 'Build shop assets.';
-
-export const watchShop = function watchShop() {
- return gulp.src('../../vendor/sylius/sylius/src/Sylius/Bundle/ShopBundle/gulpfile.babel.js', { read: false })
- .pipe(chug({ args: config, tasks: 'watch' }));
-};
-watchShop.description = 'Watch shop asset sources and rebuild on changes.';
-
-export const build = gulp.parallel(buildAdmin, buildShop);
-build.description = 'Build assets.';
-
-gulp.task('admin', buildAdmin);
-gulp.task('admin-watch', watchAdmin);
-gulp.task('shop', buildShop);
-gulp.task('shop-watch', watchShop);
-
-export default build;
diff --git a/tests/Application/package.json b/tests/Application/package.json
index fc2d7b0..c902d4b 100644
--- a/tests/Application/package.json
+++ b/tests/Application/package.json
@@ -22,16 +22,6 @@
"eslint-import-resolver-babel-module": "^4.0.0",
"eslint-plugin-import": "^2.11.0",
"fast-async": "^6.3.7",
- "gulp": "^4.0.0",
- "gulp-chug": "^0.5",
- "gulp-concat": "^2.6.0",
- "gulp-debug": "^2.1.2",
- "gulp-if": "^2.0.0",
- "gulp-livereload": "^4.0.1",
- "gulp-order": "^1.1.1",
- "gulp-sass": "^4.0.1",
- "gulp-sourcemaps": "^1.6.0",
- "gulp-uglifycss": "^1.0.5",
"merge-stream": "^1.0.0",
"rollup": "^0.60.2",
"rollup-plugin-babel": "^3.0.4",
@@ -39,15 +29,16 @@
"rollup-plugin-inject": "^2.0.0",
"rollup-plugin-node-resolve": "^3.3.0",
"rollup-plugin-uglify": "^4.0.0",
+ "sass": "^1.39.2",
"sass-loader": "^7.0.1",
"upath": "^1.1.0",
"yargs": "^6.4.0"
},
"scripts": {
- "build": "gulp build",
- "gulp": "gulp build",
- "lint": "yarn lint:js",
- "lint:js": "eslint gulpfile.babel.js"
+ "dev": "yarn encore dev",
+ "watch": "yarn encore dev --watch",
+ "prod": "yarn encore prod",
+ "lint": "yarn lint:js"
},
"repository": {
"type": "git",
diff --git a/tests/Application/public/index.php b/tests/Application/public/index.php
index 0e94c14..96666fd 100644
--- a/tests/Application/public/index.php
+++ b/tests/Application/public/index.php
@@ -1,10 +1,11 @@
createPage->containsErrorWithMessage(sprintf(
'%s cannot be blank.',
- trim($field)
+ trim($field),
)));
}
}
diff --git a/tests/Behat/Page/Admin/PaymentMethod/CreatePage.php b/tests/Behat/Page/Admin/PaymentMethod/CreatePage.php
index dc2c0a8..5e58289 100644
--- a/tests/Behat/Page/Admin/PaymentMethod/CreatePage.php
+++ b/tests/Behat/Page/Admin/PaymentMethod/CreatePage.php
@@ -1,5 +1,12 @@