mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 17:10:53 +00:00
feature #13969 Symfony 6 support (NoResponseMate, Zales0123, Rafikooo, GSadee, coldic3)
This PR was merged into the 1.12 branch. Discussion ---------- | Q | A | |-----------------|--------------------------------------------------------------| | Branch? | master | | Bug fix? | no | | New feature? | yes | | BC breaks? | hope no | | Deprecations? | no | | Related tickets | fixes #13274 | | License | MIT | <!-- - Bug fixes must be submitted against the 1.10 or 1.11 branch(the lowest possible) - Features and deprecations must be submitted against the master branch - Make sure that the correct base branch is set To be sure you are not breaking any Backward Compatibilities, check the documentation: https://docs.sylius.com/en/latest/book/organization/backward-compatibility-promise.html --> Commits -------4f5040fe87[Maintenance] Update routings' `controller` node syntax4292d522e4Skip tests that cannot be fixed now1b5e74d25aExtract session management in testsa8f8b7125fRevert SyliusLabs/PolyfilSymfonySecurity fork branch0de67b733f[Maintenance] Support both UserPasswordEncoder & UserPasswordHasherc4e08e4816[Maintenance] PasswordUpdater supports both Symfony 5.4 & Symfony 6e585559c51[Maintenance] psalm.xml updated with deprecated class and interface5bd0839f0bUse Symfony Mailer by default8ffa91dc11[Test] Refactor EmailChecker to work with Symfony Mailer04963cec81[Maintenance] Transform email html content to text3d2fafd0ff[Maintenance] Update email assertion in Unit testsab61828b61[Maintenance] Remove Swiftmailer-based unit tests23eda824e4[Maintenance] Updated mailer config3f471383bc[Maintenance] Move EmailChecker from Core into Behat1efe040a09[Behat] Fix SecurityService to work with new session management flowe8c1f5fc3c[Behat] Add session hook contextbd261c4f22[Maintenance][Behat] Temporarily allow failing cli tests254682f9a5[Maintenance] Bring back swiftmailer-based tests in packages4253917c14[Maintenance] Fix test apps configuration for swiftmailer env2e472048ea[Behat] Add session hook context26a7da8b05Temporarily run only features/account/ Behat scenarios in Symfony 6c814085444Fix Behat scenarios for User account129974b3faComposer.json fixes05ee163c8fRemove some deprecations to fix most of Behat scenarios868c503d96Do not reset token storage between tests368a280d9dMake IriConverter stateless011ad0beadReturn the whole application build7fd70d043aReturn temporarily removed workflowsfadbe0d64cRemove duplicated code in CachedRouteNameResolver50e2967a2fRemove duplicated code in Symfony6PrivateServicesPass3a5b69d726[ProductAttribute] The way of processing query parameters changed11b9fc249a[GithubActions] Redundand Run JS Behat command removed85f180f69c[Forms] Legacy error messages disabled74f599b1c7[Promotions][Behat] Form validation message changed according to the new messaging system1f43b43ce7[Behat] Unused step implementation removed5a53028ee5[CatalogPromotions][API][Behat] Step with a different behavior in SF-5.4 and SF-6 changedd7448f20c8[Behat][API][Admin] Proper IRIs in the admin contextbc7abda5eaFix encore build for AdminBundle and CoreBundle1bcbb484c6Fix packages versions7ee060cf59Remove unneeded ApiPlatform version check in static checksda97c99486Fix deprecated controller syntax to fix the buildd321bee084[Github Actions] Make timeout for non-JS build longere95b96ff49bug #14414 [Github Actions] Make timeout for non-JS build longer (Zales0123)a49d879e3d[Symfony 6] Remove setting services for test as public90de5a271ebug #14407 [Symfony 6] Remove setting services for test as public (Zales0123)
This commit is contained in:
commit
56dd3a490a
438 changed files with 3472 additions and 2063 deletions
12
.env
12
.env
|
|
@ -25,14 +25,6 @@ APP_SECRET=EDITME
|
|||
# Set "serverVersion" to your server version to avoid edge-case exceptions and extra database calls
|
||||
DATABASE_URL=mysql://root@127.0.0.1/sylius_%kernel.environment%?charset=utf8mb4
|
||||
###< doctrine/doctrine-bundle ###
|
||||
|
||||
###> symfony/swiftmailer-bundle ###
|
||||
# For Gmail as a transport, use: "gmail://username:password@localhost"
|
||||
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
|
||||
# Delivery is disabled by default via "null://localhost"
|
||||
MAILER_URL=smtp://localhost
|
||||
###< symfony/swiftmailer-bundle ###
|
||||
|
||||
###> lexik/jwt-authentication-bundle ###
|
||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
||||
|
|
@ -45,3 +37,7 @@ JWT_PASSPHRASE=66d45daf91b2ed1031e62d81c81dba2e
|
|||
MESSENGER_TRANSPORT_DSN=doctrine://default
|
||||
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
||||
###< symfony/messenger ###
|
||||
|
||||
###> symfony/mailer ###
|
||||
MAILER_DSN=null://null
|
||||
###< symfony/mailer ###
|
||||
|
|
|
|||
|
|
@ -8,3 +8,4 @@ JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public-test.pem
|
|||
JWT_PASSPHRASE=ALL_THAT_IS_GOLD_DOES_NOT_GLITTER_NOT_ALL_THOSE_WHO_WANDER_ARE_LOST
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
MESSENGER_TRANSPORT_DSN=sync://
|
||||
MAILER_DSN=null://null
|
||||
|
|
|
|||
|
|
@ -9,3 +9,4 @@ JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public-test.pem
|
|||
JWT_PASSPHRASE=ALL_THAT_IS_GOLD_DOES_NOT_GLITTER_NOT_ALL_THOSE_WHO_WANDER_ARE_LOST
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
MESSENGER_TRANSPORT_DSN=sync://
|
||||
MAILER_DSN=null://null
|
||||
|
|
|
|||
42
.github/workflows/application.yml
vendored
42
.github/workflows/application.yml
vendored
|
|
@ -24,7 +24,7 @@ jobs:
|
|||
static-checks:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: "Static checks (PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}), API Platform ${{ matrix.api-platform }})"
|
||||
name: "Static checks (PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }})"
|
||||
|
||||
timeout-minutes: 10
|
||||
|
||||
|
|
@ -32,14 +32,7 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
php: ["8.0", "8.1"]
|
||||
symfony: ["^5.4"]
|
||||
api-platform: ["^2.7"]
|
||||
|
||||
include:
|
||||
-
|
||||
php: "8.1"
|
||||
symfony: "^5.4"
|
||||
api-platform: "~2.6.0"
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
|
||||
steps:
|
||||
-
|
||||
|
|
@ -68,11 +61,6 @@ jobs:
|
|||
composer global require --no-progress --no-scripts --no-plugins "symfony/flex:1.18.5"
|
||||
composer config extra.symfony.require "${{ matrix.symfony }}"
|
||||
|
||||
-
|
||||
name: Restrict API Platform version
|
||||
if: matrix.api-platform != ''
|
||||
run: composer require "api-platform/core:${{ matrix.api-platform }}" --no-update --no-scripts --no-interaction
|
||||
|
||||
-
|
||||
name: Get Composer cache directory
|
||||
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||
|
|
@ -144,6 +132,11 @@ jobs:
|
|||
run: bin/console lint:yaml src
|
||||
if: always() && steps.end-of-setup.outcome == 'success'
|
||||
|
||||
-
|
||||
name: Validate Package versions
|
||||
run: vendor/bin/monorepo-builder validate
|
||||
if: always() && steps.end-of-setup.outcome == 'success'
|
||||
|
||||
-
|
||||
name: Run Psalm
|
||||
run: vendor/bin/psalm --show-info=false --output-format=github --php-version=${{ matrix.php }}
|
||||
|
|
@ -196,7 +189,7 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
php: ["8.0", "8.1"]
|
||||
symfony: ["^5.4"]
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
api-platform: ["^2.7"]
|
||||
|
||||
include:
|
||||
|
|
@ -254,7 +247,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
php: ["8.0"]
|
||||
symfony: ["^5.4"]
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
postgres: ["13.8"]
|
||||
node: ["16.x"]
|
||||
|
||||
|
|
@ -401,7 +394,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
php: ["8.0"]
|
||||
symfony: ["^5.4"]
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
mariadb: ["10.4.10"]
|
||||
dbal: ["2", "3"]
|
||||
node: ["16.x"]
|
||||
|
|
@ -562,13 +555,13 @@ jobs:
|
|||
|
||||
name: "Test non-JS application (PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}), Twig ${{ matrix.twig }}, DBAL ${{ matrix.dbal }}.x), API Platform ${{ matrix.api-platform }})"
|
||||
|
||||
timeout-minutes: 25
|
||||
timeout-minutes: 35
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php: ["8.0", "8.1"]
|
||||
symfony: ["^5.4"]
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
api-platform: ["^2.7"]
|
||||
mysql: ["5.7", "8.0"]
|
||||
twig: ["3.x"]
|
||||
|
|
@ -746,11 +739,12 @@ jobs:
|
|||
name: Run PHPUnit
|
||||
run: |
|
||||
bin/console cache:pool:clear cache.global_clearer
|
||||
vendor/bin/phpunit --debug
|
||||
vendor/bin/phpunit
|
||||
|
||||
-
|
||||
name: Run CLI Behat
|
||||
run: vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@cli&&~@todo" || vendor/bin/behat --strict --no-interaction -vvv -f progress --tags="@cli&&~@todo" --rerun
|
||||
continue-on-error: true
|
||||
|
||||
-
|
||||
name: Run non-JS Behat
|
||||
|
|
@ -776,8 +770,8 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
php: ["8.0", "8.1"]
|
||||
symfony: ["^5.4"]
|
||||
node: ["14.x", "16.x", "18.x"]
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
node: ["16.x", "18.x"]
|
||||
mysql: ["5.7", "8.0"]
|
||||
|
||||
env:
|
||||
|
|
@ -909,7 +903,7 @@ jobs:
|
|||
name: Run JS Behat
|
||||
run: |
|
||||
bin/console cache:pool:clear cache.global_clearer
|
||||
vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@javascript&&~@todo&&~@cli" || vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@javascript&&~@todo&&~@cli" --rerun || vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@javascript&&~@todo&&~@cli" --rerun
|
||||
vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@javascript&&~@todo&&~@cli" || vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@javascript&&~@todo&&~@cli" --rerun
|
||||
|
||||
-
|
||||
name: Upload Behat logs
|
||||
|
|
@ -1018,7 +1012,7 @@ jobs:
|
|||
name: Build assets
|
||||
run: |
|
||||
bin/console assets:install public -vvv
|
||||
GULP_ENV=prod yarn build
|
||||
yarn run encore production
|
||||
|
||||
notify-about-build-failure:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
|
|
@ -34,7 +34,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
env:
|
||||
COMPOSE_FILE: docker-compose.test.yml
|
||||
|
||||
|
||||
steps:
|
||||
-
|
||||
name: Checkout Code
|
||||
|
|
|
|||
8
.github/workflows/documentation.yml
vendored
8
.github/workflows/documentation.yml
vendored
|
|
@ -19,11 +19,11 @@ on:
|
|||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
name: "Build"
|
||||
|
||||
timeout-minutes: 10
|
||||
|
||||
|
||||
steps:
|
||||
-
|
||||
uses: actions/checkout@v2
|
||||
|
|
@ -48,7 +48,7 @@ jobs:
|
|||
timeout-minutes: 5
|
||||
|
||||
steps:
|
||||
-
|
||||
-
|
||||
name: "Process data"
|
||||
id: process-data
|
||||
shell: bash
|
||||
|
|
@ -56,7 +56,7 @@ jobs:
|
|||
echo "::set-output name=branch::$(echo ${{ github.ref }} | sed 's/refs\/heads\///g' | sed 's/refs\/tags\///g')"
|
||||
echo "::set-output name=sha::$(echo ${{ github.sha }} | cut -c 1-12)"
|
||||
|
||||
-
|
||||
-
|
||||
name: "Notify on Slack"
|
||||
uses: edge/simple-slack-notify@master
|
||||
env:
|
||||
|
|
|
|||
55
.github/workflows/packages.yml
vendored
55
.github/workflows/packages.yml
vendored
|
|
@ -51,8 +51,30 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
php: ["8.0", "8.1"]
|
||||
symfony: ["^5.4"]
|
||||
symfony: ["^5.4", "^6.0"]
|
||||
package: "${{ fromJson(needs.list.outputs.packages) }}"
|
||||
swiftmailer: [false]
|
||||
include:
|
||||
-
|
||||
php: "8.0"
|
||||
symfony: "^5.4"
|
||||
package: "Bundle/CoreBundle"
|
||||
swiftmailer: true
|
||||
-
|
||||
php: "8.1"
|
||||
symfony: "^5.4"
|
||||
package: "Bundle/CoreBundle"
|
||||
swiftmailer: true
|
||||
-
|
||||
php: "8.1"
|
||||
symfony: "^5.4"
|
||||
package: "Bundle/ApiBundle"
|
||||
swiftmailer: true
|
||||
-
|
||||
php: "8.1"
|
||||
symfony: "^5.4"
|
||||
package: "Bundle/AdminBundle"
|
||||
swiftmailer: true
|
||||
|
||||
steps:
|
||||
-
|
||||
|
|
@ -89,6 +111,14 @@ jobs:
|
|||
composer config extra.symfony.require "${{ matrix.symfony }}"
|
||||
working-directory: "src/Sylius/${{ matrix.package }}"
|
||||
|
||||
-
|
||||
name: Configure Swiftmailer (if needed)
|
||||
working-directory: "src/Sylius/${{ matrix.package }}"
|
||||
run: |
|
||||
composer require --no-progress --no-update --no-scripts --no-plugins "symfony/swiftmailer-bundle:^3.4"
|
||||
echo "APP_ENV=test_with_swiftmailer" >> $GITHUB_ENV
|
||||
if: matrix.swiftmailer == true
|
||||
|
||||
-
|
||||
name: Validate composer.json
|
||||
run: composer validate --ansi --strict
|
||||
|
|
@ -105,15 +135,7 @@ jobs:
|
|||
-
|
||||
name: Create empty manifest.json files (AdminBundle, CoreBundle)
|
||||
working-directory: "src/Sylius/${{ matrix.package }}"
|
||||
if: matrix.package == 'Bundle/AdminBundle' || matrix.package == 'Bundle/CoreBundle'
|
||||
run: |
|
||||
mkdir -p public/build/admin public/build/shop
|
||||
echo "{}" >> public/build/shop/manifest.json
|
||||
echo "{}" >> public/build/admin/manifest.json
|
||||
-
|
||||
name: Create empty manifest.json files (ApiBundle)
|
||||
working-directory: "src/Sylius/${{ matrix.package }}"
|
||||
if: matrix.package == 'Bundle/ApiBundle'
|
||||
if: matrix.package == 'Bundle/AdminBundle' || matrix.package == 'Bundle/CoreBundle' || matrix.package == 'Bundle/ApiBundle'
|
||||
run: |
|
||||
mkdir -p test/public/build/admin test/public/build/shop
|
||||
echo "{}" >> test/public/build/shop/manifest.json
|
||||
|
|
@ -126,10 +148,17 @@ jobs:
|
|||
if: always() && steps.end-of-setup.outcome == 'success' && matrix.package == 'Bundle/ApiBundle'
|
||||
|
||||
-
|
||||
name: Setup Database (for ApiBundle only)
|
||||
name: Setup Database (for ApiBundle)
|
||||
working-directory: "src/Sylius/${{ matrix.package }}"
|
||||
run: test/bin/console doctrine:schema:update --force -e test
|
||||
if: always() && matrix.package == 'Bundle/ApiBundle'
|
||||
run: test/bin/console doctrine:schema:update --force
|
||||
if: matrix.package == 'Bundle/ApiBundle'
|
||||
|
||||
-
|
||||
name: Remove Specifications not supported on Symfony >= 6.0
|
||||
working-directory: "src/Sylius/${{ matrix.package }}"
|
||||
if: ${{ true != contains( matrix.symfony, '^5.4' ) && matrix.package == 'Bundle/UserBundle' }}
|
||||
run: |
|
||||
rm spec/Security/UserPasswordEncoderSpec.php
|
||||
|
||||
-
|
||||
name: Run PHPSpec
|
||||
|
|
|
|||
10
.github/workflows/refactor.yml
vendored
10
.github/workflows/refactor.yml
vendored
|
|
@ -5,20 +5,20 @@ on:
|
|||
-
|
||||
cron: "0 2 * * MON" # Run at 2am every Monday
|
||||
workflow_dispatch: ~
|
||||
|
||||
|
||||
jobs:
|
||||
coding-standard:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
name: "Coding standard refactor"
|
||||
|
||||
|
||||
timeout-minutes: 5
|
||||
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
branch: ["1.11", "1.12"]
|
||||
|
||||
|
||||
steps:
|
||||
-
|
||||
uses: actions/checkout@v3
|
||||
|
|
|
|||
|
|
@ -26,7 +26,9 @@
|
|||
"HWI\\Bundle\\OAuthBundle\\Connect\\AccountConnectorInterface",
|
||||
"HWI\\Bundle\\OAuthBundle\\OAuth\\Response\\UserResponseInterface",
|
||||
"HWI\\Bundle\\OAuthBundle\\Security\\Core\\User\\OAuthAwareUserProviderInterface",
|
||||
"League\\Flysystem\\FilesystemOperator"
|
||||
"League\\Flysystem\\FilesystemOperator",
|
||||
"Symfony\\Component\\Security\\Core\\Encoder\\EncoderFactoryInterface",
|
||||
"PHPUnit\\Framework\\ExpectationFailedException"
|
||||
],
|
||||
"php-core-extensions" : [
|
||||
"Core",
|
||||
|
|
|
|||
140
composer.json
140
composer.json
|
|
@ -34,7 +34,7 @@
|
|||
"behat/transliterator": "^1.3",
|
||||
"doctrine/collections": "^1.6",
|
||||
"doctrine/common": "^3.2",
|
||||
"doctrine/dbal": "^2.7|^3.0",
|
||||
"doctrine/dbal": "^2.7 || ^3.0",
|
||||
"doctrine/doctrine-bundle": "^1.12 || ^2.0",
|
||||
"doctrine/doctrine-migrations-bundle": "^3.0.1",
|
||||
"doctrine/event-manager": "^1.1",
|
||||
|
|
@ -44,14 +44,14 @@
|
|||
"doctrine/persistence": "^2.3",
|
||||
"egulias/email-validator": "^3.1",
|
||||
"enshrined/svg-sanitize": "^0.15.4",
|
||||
"fakerphp/faker": "^1.9",
|
||||
"friendsofphp/proxy-manager-lts": "^1.0",
|
||||
"fakerphp/faker": "^1.10",
|
||||
"friendsofphp/proxy-manager-lts": "^1.0.7",
|
||||
"friendsofsymfony/rest-bundle": "^3.0",
|
||||
"gedmo/doctrine-extensions": "^3.2",
|
||||
"guzzlehttp/guzzle": "^6.5",
|
||||
"guzzlehttp/psr7": "^1.8",
|
||||
"jms/serializer-bundle": "^4.0",
|
||||
"knplabs/gaufrette": "^0.8",
|
||||
"knplabs/gaufrette": "^0.10",
|
||||
"knplabs/knp-gaufrette-bundle": "^0.7",
|
||||
"knplabs/knp-menu": "^3.1",
|
||||
"knplabs/knp-menu-bundle": "^3.0",
|
||||
|
|
@ -60,8 +60,8 @@
|
|||
"lexik/jwt-authentication-bundle": "^2.11",
|
||||
"liip/imagine-bundle": "^2.3",
|
||||
"pagerfanta/pagerfanta": "^3.0",
|
||||
"payum/payum": "^1.7",
|
||||
"payum/payum-bundle": "^2.4",
|
||||
"payum/payum": "^1.7.2",
|
||||
"payum/payum-bundle": "^2.5",
|
||||
"php-http/guzzle6-adapter": "^2.0",
|
||||
"php-http/message-factory": "^1.0",
|
||||
"psr/cache": "^2.0",
|
||||
|
|
@ -69,65 +69,64 @@
|
|||
"ramsey/uuid": "^4.0",
|
||||
"sonata-project/block-bundle": "^4.2",
|
||||
"stof/doctrine-extensions-bundle": "^1.4",
|
||||
"swiftmailer/swiftmailer": "^6.2",
|
||||
"sylius-labs/association-hydrator": "^1.1.3",
|
||||
"sylius-labs/doctrine-migrations-extra-bundle": "^0.1.4",
|
||||
"sylius-labs/association-hydrator": "^1.1 || ^1.2",
|
||||
"sylius-labs/doctrine-migrations-extra-bundle": "^0.1.4 || ^0.2",
|
||||
"sylius-labs/polyfill-symfony-event-dispatcher": "^1.0.1",
|
||||
"sylius-labs/polyfill-symfony-framework-bundle": "^1.0",
|
||||
"sylius-labs/polyfill-symfony-security": "^1.0",
|
||||
"sylius/calendar": "^0.3",
|
||||
"sylius/fixtures-bundle": "^1.6.1",
|
||||
"sylius/grid": "^1.11",
|
||||
"sylius/grid-bundle": "^1.11",
|
||||
"sylius/mailer": "^1.5",
|
||||
"sylius/mailer-bundle": "^1.5",
|
||||
"sylius-labs/polyfill-symfony-framework-bundle": "^1.0 || ^1.1",
|
||||
"sylius-labs/polyfill-symfony-security": "^1.1",
|
||||
"sylius/calendar": "^0.3 || ^0.4",
|
||||
"sylius/fixtures-bundle": "^1.7.0 || ^1.8@beta",
|
||||
"sylius/grid": "^1.11 || ^1.12@alpha",
|
||||
"sylius/grid-bundle": "^1.11 || ^1.12@alpha",
|
||||
"sylius/mailer": "^1.8 || ^2.0@beta",
|
||||
"sylius/mailer-bundle": "^1.8 || ^2.0@beta",
|
||||
"sylius/registry": "^1.5",
|
||||
"sylius/resource": "^1.9",
|
||||
"sylius/resource-bundle": "^1.9",
|
||||
"sylius/theme-bundle": "^2.1.1",
|
||||
"symfony/asset": "^5.4",
|
||||
"symfony/config": "^5.4",
|
||||
"symfony/console": "^5.4",
|
||||
"symfony/dependency-injection": "^5.4",
|
||||
"sylius/resource": "^1.9 || ^1.10@alpha",
|
||||
"sylius/resource-bundle": "^1.9 || ^1.10@alpha",
|
||||
"sylius/theme-bundle": "^2.1.1 || ^2.3",
|
||||
"symfony/asset": "^5.4 || ^6.0",
|
||||
"symfony/config": "^5.4 || ^6.0",
|
||||
"symfony/console": "^5.4 || ^6.0",
|
||||
"symfony/dependency-injection": "^5.4 || ^6.0",
|
||||
"symfony/deprecation-contracts": "^2.5",
|
||||
"symfony/doctrine-bridge": "^5.4",
|
||||
"symfony/event-dispatcher": "^5.4",
|
||||
"symfony/expression-language": "^5.4",
|
||||
"symfony/filesystem": "^5.4",
|
||||
"symfony/finder": "^5.4",
|
||||
"symfony/form": "^5.4",
|
||||
"symfony/framework-bundle": "^5.4",
|
||||
"symfony/http-foundation": "^5.4",
|
||||
"symfony/http-kernel": "^5.4",
|
||||
"symfony/intl": "^5.4",
|
||||
"symfony/messenger": "^5.4",
|
||||
"symfony/doctrine-bridge": "^5.4 || ^6.0",
|
||||
"symfony/doctrine-messenger": "^5.4 || ^6.0",
|
||||
"symfony/event-dispatcher": "^5.4 || ^6.0",
|
||||
"symfony/expression-language": "^5.4 || ^6.0",
|
||||
"symfony/filesystem": "^5.4 || ^6.0",
|
||||
"symfony/finder": "^5.4 || ^6.0",
|
||||
"symfony/form": "^5.4 || ^6.0",
|
||||
"symfony/framework-bundle": "^5.4 || ^6.0",
|
||||
"symfony/http-foundation": "^5.4 || ^6.0",
|
||||
"symfony/http-kernel": "^5.4 || ^6.0",
|
||||
"symfony/intl": "^5.4 || ^6.0",
|
||||
"symfony/mailer": "^5.4 || ^6.0",
|
||||
"symfony/messenger": "^5.4 || ^6.0",
|
||||
"symfony/monolog-bundle": "^3.5",
|
||||
"symfony/options-resolver": "^5.4",
|
||||
"symfony/password-hasher": "^5.4",
|
||||
"symfony/options-resolver": "^5.4 || ^6.0",
|
||||
"symfony/password-hasher": "^5.4 || 6.0",
|
||||
"symfony/polyfill-iconv": "^1.17",
|
||||
"symfony/polyfill-intl-icu": "^1.22",
|
||||
"symfony/polyfill-mbstring": "^1.17",
|
||||
"symfony/polyfill-php80": "^1.17",
|
||||
"symfony/process": "^5.4",
|
||||
"symfony/property-access": "^5.4",
|
||||
"symfony/property-info": "^5.4",
|
||||
"symfony/proxy-manager-bridge": "^5.4",
|
||||
"symfony/routing": "^5.4",
|
||||
"symfony/security-bundle": "^5.4",
|
||||
"symfony/security-core": "^5.4",
|
||||
"symfony/security-csrf": "^5.4",
|
||||
"symfony/security-guard": "^5.4",
|
||||
"symfony/security-http": "^5.4",
|
||||
"symfony/serializer": "^5.4",
|
||||
"symfony/string": "^5.4",
|
||||
"symfony/swiftmailer-bundle": "^3.4",
|
||||
"symfony/templating": "^5.4",
|
||||
"symfony/translation": "^5.4",
|
||||
"symfony/process": "^5.4 || ^6.0",
|
||||
"symfony/property-access": "^5.4 || ^6.0",
|
||||
"symfony/property-info": "^5.4 || ^6.0",
|
||||
"symfony/proxy-manager-bridge": "^5.4 || ^6.0",
|
||||
"symfony/routing": "^5.4 || ^6.0",
|
||||
"symfony/security-bundle": "^5.4 || ^6.0",
|
||||
"symfony/security-core": "^5.4 || ^6.0",
|
||||
"symfony/security-csrf": "^5.4 || ^6.0",
|
||||
"symfony/security-http": "^5.4 || ^6.0",
|
||||
"symfony/serializer": "^5.4 || ^6.0",
|
||||
"symfony/string": "^5.4 || ^6.0",
|
||||
"symfony/templating": "^5.4 || ^6.0",
|
||||
"symfony/translation": "^5.4 || ^6.0",
|
||||
"symfony/translation-contracts": "^2.5",
|
||||
"symfony/twig-bundle": "^5.4",
|
||||
"symfony/validator": "^5.4",
|
||||
"symfony/twig-bundle": "^5.4 || ^6.0",
|
||||
"symfony/validator": "^5.4 || ^6.0",
|
||||
"symfony/webpack-encore-bundle": "^1.15",
|
||||
"symfony/yaml": "^5.4",
|
||||
"symfony/yaml": "^5.4 || ^6.0",
|
||||
"twig/intl-extra": "^2.12",
|
||||
"twig/twig": "^2.12 || ^3.3",
|
||||
"webmozart/assert": "^1.9",
|
||||
|
|
@ -184,17 +183,7 @@
|
|||
"jms/serializer-bundle": "4.1.0",
|
||||
"symfony/doctrine-bridge": "4.4.16",
|
||||
"symfony/framework-bundle": "^4.4.38 || ^5.4.5",
|
||||
"symfony/password-hasher": "^6.0",
|
||||
"symfony/cache": "^6.0",
|
||||
"symfony/amqp-messenger": "^6.0",
|
||||
"symfony/doctrine-messenger": "^6.0",
|
||||
"symfony/error-handler": "^6.0",
|
||||
"symfony/dependency-injection": "^4.4.38 || ^5.4.5",
|
||||
"symfony/redis-messenger": "^6.0",
|
||||
"symfony/stopwatch": "^6.0",
|
||||
"symfony/twig-bridge": "^6.0",
|
||||
"symfony/var-dumper": "^6.0",
|
||||
"symfony/var-exporter": "^6.0",
|
||||
"symfony/property-info": "4.4.22 || 5.2.7",
|
||||
"symfony/serializer": "4.4.19 || 5.2.2",
|
||||
"liip/imagine-bundle": "2.7.0"
|
||||
|
|
@ -205,6 +194,7 @@
|
|||
"dmore/behat-chrome-extension": "^1.3",
|
||||
"dmore/chrome-mink-driver": "^2.7",
|
||||
"doctrine/data-fixtures": "^1.4",
|
||||
"doctrine/cache": "^1.10",
|
||||
"friends-of-behat/mink": "^1.8",
|
||||
"friends-of-behat/mink-browserkit-driver": "^1.4",
|
||||
"friends-of-behat/mink-debug-extension": "^2.0",
|
||||
|
|
@ -212,10 +202,10 @@
|
|||
"friends-of-behat/page-object-extension": "^0.3",
|
||||
"friends-of-behat/symfony-extension": "^2.1",
|
||||
"friends-of-behat/variadic-extension": "^1.3",
|
||||
"hwi/oauth-bundle": "^1.1",
|
||||
"hwi/oauth-bundle": "^1.1 || ^2.0@beta",
|
||||
"lchrusciel/api-test-case": "^5.0",
|
||||
"matthiasnoback/symfony-config-test": "^4.2",
|
||||
"matthiasnoback/symfony-dependency-injection-test": "^4.1",
|
||||
"matthiasnoback/symfony-dependency-injection-test": "^4.2",
|
||||
"mikey179/vfsstream": "^1.6",
|
||||
"mockery/mockery": "^1.4",
|
||||
"phparkitect/phparkitect": "^0.2.9",
|
||||
|
|
@ -223,17 +213,18 @@
|
|||
"phpstan/phpstan": "1.5.4",
|
||||
"phpstan/phpstan-doctrine": "1.3.2",
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"polishsymfonycommunity/symfony-mocker-container": "^1.0",
|
||||
"polishsymfonycommunity/symfony-mocker-container": "dev-support-symfony-6",
|
||||
"psalm/plugin-mockery": "0.7.0",
|
||||
"psr/event-dispatcher": "^1.0",
|
||||
"rector/rector": "^0.12.20",
|
||||
"stripe/stripe-php": "^8.1",
|
||||
"sylius-labs/coding-standard": "^4.2",
|
||||
"symfony/browser-kit": "^5.4",
|
||||
"symfony/debug-bundle": "^5.4",
|
||||
"symfony/dotenv": "^5.4",
|
||||
"symfony/browser-kit": "^5.4 || ^6.0",
|
||||
"symfony/debug-bundle": "^5.4 || ^6.0",
|
||||
"symfony/dotenv": "^5.4 || ^6.0",
|
||||
"symfony/flex": "^1.7",
|
||||
"symfony/web-profiler-bundle": "^5.4",
|
||||
"symfony/web-profiler-bundle": "^5.4 || ^6.0",
|
||||
"symplify/monorepo-builder": "^11.0",
|
||||
"vimeo/psalm": "^4.19"
|
||||
},
|
||||
"suggest": {
|
||||
|
|
@ -333,5 +324,8 @@
|
|||
"cache:clear": "symfony-cmd",
|
||||
"assets:install %PUBLIC_DIR%": "symfony-cmd"
|
||||
}
|
||||
}
|
||||
},
|
||||
"repositories": [
|
||||
{ "type": "vcs", "url": "git@github.com:Zales0123/SymfonyMockerContainer.git" }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ return [
|
|||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
||||
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
|
||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||
Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true],
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
swiftmailer:
|
||||
disable_delivery: true
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
framework:
|
||||
secret: '%env(APP_SECRET)%'
|
||||
form: true
|
||||
form:
|
||||
enabled: true
|
||||
legacy_error_messages: false
|
||||
csrf_protection: true
|
||||
session:
|
||||
handler_id: ~
|
||||
|
|
|
|||
3
config/packages/mailer.yaml
Normal file
3
config/packages/mailer.yaml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
framework:
|
||||
mailer:
|
||||
dsn: '%env(MAILER_DSN)%'
|
||||
|
|
@ -14,16 +14,19 @@ doctrine:
|
|||
|
||||
services:
|
||||
doctrine.result_cache_provider:
|
||||
class: Symfony\Component\Cache\DoctrineProvider
|
||||
class: Doctrine\Common\Cache\Psr6\DoctrineProvider
|
||||
public: false
|
||||
factory: ['Doctrine\Common\Cache\Psr6\DoctrineProvider', 'wrap']
|
||||
arguments:
|
||||
- '@doctrine.result_cache_pool'
|
||||
doctrine.system_cache_provider:
|
||||
class: Symfony\Component\Cache\DoctrineProvider
|
||||
class: Doctrine\Common\Cache\Psr6\DoctrineProvider
|
||||
public: false
|
||||
factory: [ 'Doctrine\Common\Cache\Psr6\DoctrineProvider', 'wrap' ]
|
||||
arguments:
|
||||
- '@doctrine.system_cache_pool'
|
||||
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
swiftmailer:
|
||||
url: '%env(MAILER_URL)%'
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
framework:
|
||||
test: ~
|
||||
session:
|
||||
storage_id: session.storage.mock_file
|
||||
storage_factory_id: session.storage.factory.mock_file
|
||||
|
|
|
|||
5
config/packages/test/mailer.yaml
Normal file
5
config/packages/test/mailer.yaml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
framework:
|
||||
cache:
|
||||
pools:
|
||||
test.mailer_pool:
|
||||
adapter: cache.adapter.filesystem
|
||||
|
|
@ -1,7 +1,3 @@
|
|||
security:
|
||||
password_hashers:
|
||||
sha512: sha512
|
||||
Sylius\Component\User\Model\UserInterface: sha512
|
||||
|
||||
sylius_user:
|
||||
encoder: sha512
|
||||
Sylius\Component\User\Model\UserInterface: argon2i
|
||||
|
|
|
|||
|
|
@ -14,13 +14,15 @@ doctrine:
|
|||
|
||||
services:
|
||||
doctrine.result_cache_provider:
|
||||
class: Symfony\Component\Cache\DoctrineProvider
|
||||
class: Doctrine\Common\Cache\Psr6\DoctrineProvider
|
||||
public: false
|
||||
factory: ['Doctrine\Common\Cache\Psr6\DoctrineProvider', 'wrap']
|
||||
arguments:
|
||||
- '@doctrine.result_cache_pool'
|
||||
doctrine.system_cache_provider:
|
||||
class: Symfony\Component\Cache\DoctrineProvider
|
||||
class: Doctrine\Common\Cache\Psr6\DoctrineProvider
|
||||
public: false
|
||||
factory: [ 'Doctrine\Common\Cache\Psr6\DoctrineProvider', 'wrap' ]
|
||||
arguments:
|
||||
- '@doctrine.system_cache_pool'
|
||||
|
||||
|
|
|
|||
2
config/packages/test_cached/mailer.yaml
Normal file
2
config/packages/test_cached/mailer.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
imports:
|
||||
- { resource: "../test/mailer.yaml" }
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
imports:
|
||||
- { resource: "../test/swiftmailer.yaml" }
|
||||
|
|
@ -11,7 +11,7 @@ sylius_shop_default_locale:
|
|||
path: /
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: sylius.controller.shop.locale_switch:switchAction
|
||||
_controller: sylius.controller.shop.locale_switch::switchAction
|
||||
|
||||
# see https://web.dev/change-password-url/
|
||||
sylius_shop_request_password_reset_token_redirect:
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ Feature: Creating a catalog promotion
|
|||
And it should have "winter_sale" code and "Winter sale" name
|
||||
And "Winter sale" catalog promotion should apply to "PHP T-Shirt" variant and "Kotlin T-Shirt" variant
|
||||
And it should have "50%" discount
|
||||
And this catalog promotion should be usable
|
||||
And it should be active
|
||||
And "PHP T-Shirt" variant and "Kotlin T-Shirt" variant should be discounted
|
||||
|
||||
@api @ui @javascript
|
||||
|
|
|
|||
15
monorepo-builder.php
Normal file
15
monorepo-builder.php
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
use Symplify\ComposerJsonManipulator\ValueObject\ComposerJsonSection;
|
||||
use Symplify\MonorepoBuilder\Config\MBConfig;
|
||||
use Symplify\MonorepoBuilder\ValueObject\Option;
|
||||
|
||||
return static function (MBConfig $config): void {
|
||||
$config->packageDirectories([
|
||||
// default value
|
||||
__DIR__ . '/src/Sylius',
|
||||
]);
|
||||
};
|
||||
|
|
@ -24,6 +24,8 @@ parameters:
|
|||
|
||||
# Deprecated classes
|
||||
- 'src/Sylius/Bundle/CoreBundle/Application/Kernel.php'
|
||||
- 'src/Sylius/Bundle/UserBundle/Security/UserPasswordEncoder.php'
|
||||
|
||||
ignoreErrors:
|
||||
- '/Access to an undefined property Doctrine\\Common\\Collections\\ArrayCollection/'
|
||||
- '/Class Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken constructor invoked with 4 parameters\, 2\-3 required./'
|
||||
|
|
|
|||
39
psalm.xml
39
psalm.xml
|
|
@ -22,12 +22,14 @@
|
|||
<directory name="src/Sylius/Bundle/ApiBundle/test" />
|
||||
<directory name="src/Sylius/Bundle/AdminBundle/spec" />
|
||||
<directory name="src/Sylius/Bundle/AdminBundle/Tests" />
|
||||
<directory name="src/Sylius/Bundle/AdminBundle/test" />
|
||||
<directory name="src/Sylius/Bundle/AttributeBundle/spec" />
|
||||
<directory name="src/Sylius/Bundle/AttributeBundle/test" />
|
||||
<directory name="src/Sylius/Bundle/ChannelBundle/spec" />
|
||||
<directory name="src/Sylius/Bundle/ChannelBundle/test" />
|
||||
<directory name="src/Sylius/Bundle/CoreBundle/spec" />
|
||||
<directory name="src/Sylius/Bundle/CoreBundle/Tests" />
|
||||
<directory name="src/Sylius/Bundle/CoreBundle/test" />
|
||||
<directory name="src/Sylius/Bundle/CurrencyBundle/spec" />
|
||||
<directory name="src/Sylius/Bundle/CurrencyBundle/test" />
|
||||
<directory name="src/Sylius/Bundle/CustomerBundle/test" />
|
||||
|
|
@ -87,11 +89,10 @@
|
|||
<errorLevel type="info">
|
||||
<referencedClass name="Payum\Core\Action\GatewayAwareAction" />
|
||||
<referencedClass name="Payum\Core\Security\GenericTokenFactoryInterface" />
|
||||
<referencedClass name="Sylius\Bundle\UserBundle\Security\UserPasswordEncoder"/>
|
||||
<referencedClass name="Sylius\Component\Core\Calculator\ProductVariantPriceCalculatorInterface" />
|
||||
<referencedClass name="Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent" /> <!-- deprected in Symfony 4.4 -->
|
||||
<referencedClass name="Symfony\Component\HttpKernel\EventListener\ExceptionListener" /> <!-- deprected in Symfony 4.4 -->
|
||||
<referencedClass name="Sylius\Component\User\Security\UserPasswordEncoderInterface" />
|
||||
<referencedClass name="Symfony\Component\Routing\RouteCollectionBuilder" /> <!-- deprecated in Symfony 5.1 -->
|
||||
<referencedClass name="Symfony\Component\Security\Core\Role\Role" /> <!-- deprecated in Symfony 4.3 -->
|
||||
<referencedClass name="Symfony\Component\Security\Http\Logout\DefaultLogoutSuccessHandler" /> <!-- deprecated in Symfony 5.1 -->
|
||||
<referencedClass name="Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderAwareInterface" /> <!-- deprecated in Symfony 5.3 -->
|
||||
|
|
@ -102,9 +103,12 @@
|
|||
<DeprecatedInterface>
|
||||
<errorLevel type="info">
|
||||
<referencedClass name="Sylius\Component\Core\Calculator\ProductVariantPriceCalculatorInterface" />
|
||||
<referencedClass name="Sylius\Component\User\Security\UserPasswordEncoderInterface" />
|
||||
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderAwareInterface" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedClass name="Symfony\Component\Security\Core\User\AdvancedUserInterface" /> <!-- deprecated in Symfony 4.1 -->
|
||||
<referencedClass name="Symfony\Component\Security\Http\Logout\LogoutSuccessHandlerInterface" /> <!-- deprecated in Symfony 5.1 -->
|
||||
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderAwareInterface" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedClass name="Symfony\Component\Serializer\Normalizer\ContextAwareDenormalizerInterface" /> <!-- deprecated in Symfony 6.1 -->
|
||||
<referencedClass name="Symfony\Component\Serializer\Normalizer\ContextAwareNormalizerInterface" /> <!-- deprecated in Symfony 6.1 -->
|
||||
</errorLevel>
|
||||
</DeprecatedInterface>
|
||||
<DeprecatedMethod>
|
||||
|
|
@ -112,7 +116,6 @@
|
|||
<referencedMethod name="Faker\Generator::__get"/>
|
||||
<referencedMethod name="Payum\Core\Model\GatewayConfigInterface::setFactoryName" />
|
||||
<referencedMethod name="Sylius\Component\Mailer\Sender\SenderInterface::send"/>
|
||||
<referencedMethod name="Symfony\Component\EventDispatcher\Event::stopPropagation" /> <!-- deprecated in Symfony 4.3 -->
|
||||
<referencedMethod name="Symfony\Component\HttpFoundation\JsonResponse::create" /> <!-- deprecated in Symfony 5.1 -->
|
||||
<referencedMethod name="Symfony\Component\HttpFoundation\RequestStack::getMasterRequest" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedMethod name="Symfony\Component\HttpKernel\Event\KernelEvent::isMasterRequest" /> <!-- deprecated in Symfony 5.3 -->
|
||||
|
|
@ -120,6 +123,7 @@
|
|||
<referencedMethod name="Symfony\Component\Security\Core\Authentication\Token\TokenInterface::getUsername" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedMethod name="Symfony\Component\Security\Core\User\UserInterface::getUsername" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedMethod name="Symfony\Component\Security\Core\User\UserProviderInterface::loadUserByUsername" /> <!-- deprecated in Symfony 5.3 -->
|
||||
<referencedMethod name="Symfony\Component\Security\Core\Authentication\Token\AbstractToken::isAuthenticated" /> <!-- deprecated in Symfony 5.4 -->
|
||||
</errorLevel>
|
||||
</DeprecatedMethod>
|
||||
|
||||
|
|
@ -128,7 +132,9 @@
|
|||
<referencedMethod name="PHPUnit\Framework\TestCase::__construct" />
|
||||
<referencedMethod name="Symfony\Bundle\SecurityBundle\Security\_FirewallMap::getFirewallConfig" />
|
||||
<referencedMethod name="ApiPlatform\Core\Util\RequestParser::getQueryString" />
|
||||
<referencedMethod name="ApiPlatform\Util\RequestParser::getQueryString" />
|
||||
<referencedMethod name="ApiPlatform\Core\Util\RequestParser::parseRequestParams" />
|
||||
<referencedMethod name="ApiPlatform\Util\RequestParser::parseRequestParams" />
|
||||
</errorLevel>
|
||||
</InternalMethod>
|
||||
|
||||
|
|
@ -147,9 +153,21 @@
|
|||
<UndefinedMethod>
|
||||
<errorLevel type="suppress">
|
||||
<referencedMethod name="Symfony\Component\HttpFoundation\RequestStack::getSession" />
|
||||
<referencedMethod name="Symfony\Component\HttpKernel\Event\RequestEvent::isMasterRequest" />
|
||||
<referencedMethod name="Symfony\Component\HttpKernel\Event\ExceptionEvent::isMasterRequest" />
|
||||
<referencedMethod name="Symfony\Component\HttpKernel\Event\ResponseEvent::isMasterRequest" />
|
||||
</errorLevel>
|
||||
</UndefinedMethod>
|
||||
|
||||
<UndefinedInterfaceMethod>
|
||||
<errorLevel type="suppress">
|
||||
<referencedMethod name="Symfony\Component\Security\Core\User\UserInterface::getPassword" />
|
||||
<referencedMethod name="Symfony\Component\Security\Core\User\UserInterface::getUsername" />
|
||||
<referencedMethod name="Sylius\Component\User\Model\UserInterface::getUsername" />
|
||||
<referencedMethod name="Sylius\Component\Core\Model\ShopUserInterface::getUsername" />
|
||||
</errorLevel>
|
||||
</UndefinedInterfaceMethod>
|
||||
|
||||
<MissingReturnType errorLevel="info" />
|
||||
|
||||
<PropertyNotSetInConstructor errorLevel="info" />
|
||||
|
|
@ -201,6 +219,12 @@
|
|||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::scalarNode" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::variableNode" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeParentInterface::end" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\VariableNodeDefinition::arrayNode" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\VariableNodeDefinition::booleanNode" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\VariableNodeDefinition::children" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\VariableNodeDefinition::integerNode" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\VariableNodeDefinition::scalarNode" />
|
||||
<referencedMethod name="Symfony\Component\Config\Definition\Builder\VariableNodeDefinition::variableNode" />
|
||||
</errorLevel>
|
||||
</PossiblyUndefinedMethod>
|
||||
|
||||
|
|
@ -219,6 +243,11 @@
|
|||
<referencedFunction name="Symfony\Component\PasswordHasher\PasswordHasherInterface::hash" />
|
||||
</errorLevel>
|
||||
</TooManyArguments>
|
||||
<UndefinedClass>
|
||||
<errorLevel type="info">
|
||||
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface" />
|
||||
</errorLevel>
|
||||
</UndefinedClass>
|
||||
|
||||
<!-- level 6 issues - really bad things -->
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ use Symfony\Component\Config\Loader\LoaderInterface;
|
|||
use Symfony\Component\Config\Resource\FileResource;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
||||
use Symfony\Component\Routing\RouteCollectionBuilder;
|
||||
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
||||
|
||||
/** @final */
|
||||
class Kernel extends BaseKernel
|
||||
|
|
@ -61,13 +61,13 @@ class Kernel extends BaseKernel
|
|||
$loader->load($confDir . '/{services}_' . $this->environment . self::CONFIG_EXTS, 'glob');
|
||||
}
|
||||
|
||||
protected function configureRoutes(RouteCollectionBuilder $routes): void
|
||||
protected function configureRoutes(RoutingConfigurator $routes): void
|
||||
{
|
||||
$confDir = $this->getProjectDir() . '/config';
|
||||
|
||||
$routes->import($confDir . '/{routes}/*' . self::CONFIG_EXTS, '/', 'glob');
|
||||
$routes->import($confDir . '/{routes}/' . $this->environment . '/**/*' . self::CONFIG_EXTS, '/', 'glob');
|
||||
$routes->import($confDir . '/{routes}' . self::CONFIG_EXTS, '/', 'glob');
|
||||
$routes->import($confDir . '/{routes}/*' . self::CONFIG_EXTS);
|
||||
$routes->import($confDir . '/{routes}/' . $this->environment . '/**/*' . self::CONFIG_EXTS);
|
||||
$routes->import($confDir . '/{routes}' . self::CONFIG_EXTS);
|
||||
}
|
||||
|
||||
protected function getContainerBaseClass(): string
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@ use Behat\Behat\Context\Context;
|
|||
use Sylius\Component\Core\Model\ProductInterface;
|
||||
use Symfony\Component\BrowserKit\AbstractBrowser;
|
||||
use Symfony\Component\BrowserKit\Cookie;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
||||
final class AjaxContext implements Context
|
||||
{
|
||||
public function __construct(
|
||||
private AbstractBrowser $client,
|
||||
private SessionInterface $session,
|
||||
private RequestStack $requestStack,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -33,7 +33,7 @@ final class AjaxContext implements Context
|
|||
*/
|
||||
public function iLookForVariantWithDescriptorWithinProduct($phrase, ProductInterface $product): void
|
||||
{
|
||||
$this->client->getCookieJar()->set(new Cookie($this->session->getName(), $this->session->getId()));
|
||||
$this->client->getCookieJar()->set(new Cookie($this->requestStack->getSession()->getName(), $this->requestStack->getSession()->getId()));
|
||||
$this->client->request(
|
||||
'GET',
|
||||
'/admin/ajax/product-variants/search',
|
||||
|
|
|
|||
|
|
@ -30,8 +30,6 @@ use Sylius\Component\Core\Model\ChannelInterface;
|
|||
use Sylius\Component\Core\Model\ProductInterface;
|
||||
use Sylius\Component\Core\Model\ProductVariantInterface;
|
||||
use Sylius\Component\Core\Model\TaxonInterface;
|
||||
use Sylius\Component\Promotion\Event\CatalogPromotionCreated;
|
||||
use Symfony\Component\Messenger\MessageBusInterface;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
||||
final class ManagingCatalogPromotionsContext implements Context
|
||||
|
|
@ -39,7 +37,6 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
public function __construct(
|
||||
private ApiClientInterface $client,
|
||||
private ResponseCheckerInterface $responseChecker,
|
||||
private MessageBusInterface $messageBus,
|
||||
private IriConverterInterface $iriConverter,
|
||||
private SharedStorageInterface $sharedStorage,
|
||||
) {
|
||||
|
|
@ -145,7 +142,7 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
*/
|
||||
public function iMakeItAvailableInChannel(ChannelInterface $channel): void
|
||||
{
|
||||
$this->client->addRequestData('channels', [$this->iriConverter->getIriFromItem($channel)]);
|
||||
$this->client->addRequestData('channels', [$this->iriConverter->getIriFromItemInSection($channel, 'admin')]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -155,7 +152,7 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
{
|
||||
$channels = $this->responseChecker->getValue($this->client->show(Resources::CATALOG_PROMOTIONS, $catalogPromotion->getCode()), 'channels');
|
||||
|
||||
foreach (array_keys($channels, $this->iriConverter->getIriFromItem($channel)) as $key) {
|
||||
foreach (array_keys($channels, $this->iriConverter->getIriFromItemInSection($channel, 'admin')) as $key) {
|
||||
unset($channels[$key]);
|
||||
}
|
||||
|
||||
|
|
@ -1175,14 +1172,6 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then this catalog promotion should be usable
|
||||
*/
|
||||
public function thisCatalogPromotionShouldBeUsable(): void
|
||||
{
|
||||
Assert::isInstanceOf($this->messageBus->getDispatchedMessages()[0]['message'], CatalogPromotionCreated::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then the catalog promotion :catalogPromotion should be available in channel :channel
|
||||
* @Then /^(this catalog promotion) should be available in (channel "[^"]+")$/
|
||||
|
|
@ -1193,7 +1182,7 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
$this->responseChecker->hasValueInCollection(
|
||||
$this->client->show(Resources::CATALOG_PROMOTIONS, $catalogPromotion->getCode()),
|
||||
'channels',
|
||||
$this->iriConverter->getIriFromItem($channel),
|
||||
$this->iriConverter->getIriFromItemInSection($channel, 'admin'),
|
||||
),
|
||||
sprintf('Catalog promotion is not assigned to %s channel', $channel->getName()),
|
||||
);
|
||||
|
|
@ -1212,7 +1201,7 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
$this->responseChecker->hasValueInCollection(
|
||||
$this->client->show(Resources::CATALOG_PROMOTIONS, $catalogPromotion->getCode()),
|
||||
'channels',
|
||||
$this->iriConverter->getIriFromItem($channel),
|
||||
$this->iriConverter->getIriFromItemInSection($channel, 'admin'),
|
||||
),
|
||||
sprintf('Catalog promotion is assigned to %s channel', $channel->getName()),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ final class ManagingChannelsContext implements Context
|
|||
*/
|
||||
public function iChooseAsTheBaseCurrency(CurrencyInterface $currency): void
|
||||
{
|
||||
$this->client->addRequestData('baseCurrency', $this->iriConverter->getIriFromItem($currency));
|
||||
$this->client->addRequestData('baseCurrency', $this->iriConverter->getIriFromItemInSection($currency, 'admin'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -69,7 +69,7 @@ final class ManagingChannelsContext implements Context
|
|||
*/
|
||||
public function iChooseAsADefaultLocale(LocaleInterface $locale): void
|
||||
{
|
||||
$this->client->addRequestData('defaultLocale', $this->iriConverter->getIriFromItem($locale));
|
||||
$this->client->addRequestData('defaultLocale', $this->iriConverter->getIriFromItemInSection($locale, 'admin'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -102,8 +102,8 @@ final class ManagingChannelsContext implements Context
|
|||
public function iChooseAndAsOperatingCountries(CountryInterface $country, CountryInterface $otherCountry): void
|
||||
{
|
||||
$this->client->addRequestData('countries', [
|
||||
$this->iriConverter->getIriFromItem($country),
|
||||
$this->iriConverter->getIriFromItem($otherCountry),
|
||||
$this->iriConverter->getIriFromItemInSection($country, 'admin'),
|
||||
$this->iriConverter->getIriFromItemInSection($otherCountry, 'admin'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ final class ManagingChannelsContext implements Context
|
|||
*/
|
||||
public function iSpecifyMenuTaxonAs(TaxonInterface $taxon): void
|
||||
{
|
||||
$this->client->addRequestData('menuTaxon', $this->iriConverter->getIriFromItem($taxon));
|
||||
$this->client->addRequestData('menuTaxon', $this->iriConverter->getIriFromItemInSection($taxon, 'admin'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -242,7 +242,7 @@ final class ManagingChannelsContext implements Context
|
|||
{
|
||||
Assert::same(
|
||||
$this->responseChecker->getValue($this->client->show(Resources::CHANNELS, $channel->getCode()), 'menuTaxon'),
|
||||
$this->iriConverter->getIriFromItem($taxon),
|
||||
$this->iriConverter->getIriFromItemInSection($taxon, 'admin'),
|
||||
sprintf('Channel %s does not have %s menu taxon', $channel->getName(), $taxon->getName()),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ final class ManagingPaymentsContext implements Context
|
|||
Assert::true($this->responseChecker->hasItemWithValue(
|
||||
$this->client->getLastResponse(),
|
||||
'order',
|
||||
$this->iriConverter->getIriFromItem($order),
|
||||
$this->iriConverter->getIriFromItemInSection($order, 'admin'),
|
||||
));
|
||||
}
|
||||
|
||||
|
|
@ -181,7 +181,7 @@ final class ManagingPaymentsContext implements Context
|
|||
Assert::false($this->responseChecker->hasItemWithValue(
|
||||
$this->client->getLastResponse(),
|
||||
'order',
|
||||
$this->iriConverter->getIriFromItem($order),
|
||||
$this->iriConverter->getIriFromItemInSection($order, 'admin'),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -417,7 +417,7 @@ final class ManagingProductsContext implements Context
|
|||
$productFromResponse = $this->responseChecker->getResponseContent($response);
|
||||
|
||||
Assert::true(
|
||||
in_array($this->iriConverter->getIriFromItem($productOption), $productFromResponse['options'], true),
|
||||
in_array($this->iriConverter->getIriFromItemInSection($productOption, 'admin'), $productFromResponse['options'], true),
|
||||
sprintf('Product with option %s does not exist', $productOption->getName()),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ final class ManagingShipmentsContext implements Context
|
|||
{
|
||||
Assert::true(
|
||||
$this->responseChecker->hasItemWithValues($this->client->index(Resources::SHIPMENTS), [
|
||||
'order' => $this->iriConverter->getIriFromItem($order),
|
||||
'order' => $this->iriConverter->getIriFromItemInSection($order, 'admin'),
|
||||
'state' => strtolower($shippingState),
|
||||
]),
|
||||
sprintf('Shipment for order %s with state %s does not exist', $order->getNumber(), $shippingState),
|
||||
|
|
@ -293,7 +293,7 @@ final class ManagingShipmentsContext implements Context
|
|||
return $this->responseChecker->hasItemWithValue(
|
||||
$this->client->getLastResponse(),
|
||||
'order',
|
||||
$this->iriConverter->getIriFromItem($order),
|
||||
$this->iriConverter->getIriFromItemInSection($order, 'admin'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -381,7 +381,7 @@ final class ManagingShippingMethodsContext implements Context
|
|||
$this->responseChecker->hasValueInCollection(
|
||||
$this->client->show(Resources::SHIPPING_METHODS, $shippingMethod->getCode()),
|
||||
'channels',
|
||||
$this->iriConverter->getIriFromItem($channel),
|
||||
$this->iriConverter->getIriFromItemInSection($channel, 'admin'),
|
||||
),
|
||||
sprintf('Shipping method is not assigned to %s channel', $channel->getName()),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@ use Sylius\Behat\Client\ResponseCheckerInterface;
|
|||
use Sylius\Component\Core\Model\TaxonInterface;
|
||||
use Symfony\Component\BrowserKit\AbstractBrowser;
|
||||
use Symfony\Component\BrowserKit\Cookie;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
||||
final class ManagingTaxonsContext implements Context
|
||||
{
|
||||
public function __construct(
|
||||
private AbstractBrowser $client,
|
||||
private SessionInterface $session,
|
||||
private RequestStack $requestStack,
|
||||
private ResponseCheckerInterface $responseChecker,
|
||||
) {
|
||||
}
|
||||
|
|
@ -35,7 +35,7 @@ final class ManagingTaxonsContext implements Context
|
|||
*/
|
||||
public function iTypeIn($phrase): void
|
||||
{
|
||||
$this->client->getCookieJar()->set(new Cookie($this->session->getName(), $this->session->getId()));
|
||||
$this->client->getCookieJar()->set(new Cookie($this->requestStack->getSession()->getName(), $this->requestStack->getSession()->getId()));
|
||||
$this->client->request('GET', '/admin/ajax/taxons/search', ['phrase' => $phrase], [], ['ACCEPT' => 'application/json']);
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ final class ManagingTaxonsContext implements Context
|
|||
*/
|
||||
public function iWantToGetTaxonWithCode($code): void
|
||||
{
|
||||
$this->client->getCookieJar()->set(new Cookie($this->session->getName(), $this->session->getId()));
|
||||
$this->client->getCookieJar()->set(new Cookie($this->requestStack->getSession()->getName(), $this->requestStack->getSession()->getId()));
|
||||
$this->client->request('GET', '/admin/ajax/taxons/leaf', ['code' => $code], [], ['ACCEPT' => 'application/json']);
|
||||
}
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ final class ManagingTaxonsContext implements Context
|
|||
*/
|
||||
public function iWantToGetChildrenFromTaxon(TaxonInterface $taxon): void
|
||||
{
|
||||
$this->client->getCookieJar()->set(new Cookie($this->session->getName(), $this->session->getId()));
|
||||
$this->client->getCookieJar()->set(new Cookie($this->requestStack->getSession()->getName(), $this->requestStack->getSession()->getId()));
|
||||
$this->client->request('GET', '/admin/ajax/taxons/leafs', ['parentCode' => $taxon->getCode()], [], ['ACCEPT' => 'application/json']);
|
||||
}
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ final class ManagingTaxonsContext implements Context
|
|||
*/
|
||||
public function iWantToGetTaxonRoot(): void
|
||||
{
|
||||
$this->client->getCookieJar()->set(new Cookie($this->session->getName(), $this->session->getId()));
|
||||
$this->client->getCookieJar()->set(new Cookie($this->requestStack->getSession()->getName(), $this->requestStack->getSession()->getId()));
|
||||
$this->client->request('GET', '/admin/ajax/taxons/root-nodes', [], [], ['ACCEPT' => 'application/json']);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@ declare(strict_types=1);
|
|||
namespace Sylius\Behat\Context\Api;
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
use Sylius\Behat\Service\Checker\EmailCheckerInterface;
|
||||
use Sylius\Behat\Service\SharedStorageInterface;
|
||||
use Sylius\Component\Core\Model\OrderInterface;
|
||||
use Sylius\Component\Core\Model\ShipmentInterface;
|
||||
use Sylius\Component\Core\Test\Services\EmailCheckerInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,38 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Sylius\Behat\Context\Hook;
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
use Sylius\Component\Core\Test\Services\EmailCheckerInterface;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
|
||||
final class EmailSpoolContext implements Context
|
||||
{
|
||||
private string $spoolDirectory;
|
||||
|
||||
public function __construct(
|
||||
EmailCheckerInterface $emailChecker,
|
||||
private Filesystem $filesystem,
|
||||
) {
|
||||
$this->spoolDirectory = $emailChecker->getSpoolDirectory();
|
||||
}
|
||||
|
||||
/**
|
||||
* @BeforeScenario @email
|
||||
*/
|
||||
public function purgeSpooledMessages()
|
||||
{
|
||||
$this->filesystem->remove($this->spoolDirectory);
|
||||
}
|
||||
}
|
||||
32
src/Sylius/Behat/Context/Hook/MailerContext.php
Normal file
32
src/Sylius/Behat/Context/Hook/MailerContext.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Sylius\Behat\Context\Hook;
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
use Psr\Cache\CacheItemPoolInterface;
|
||||
|
||||
final class MailerContext implements Context
|
||||
{
|
||||
public function __construct(private CacheItemPoolInterface $cache)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @BeforeScenario @email
|
||||
*/
|
||||
public function purgeMessages(): void
|
||||
{
|
||||
$this->cache->clear();
|
||||
}
|
||||
}
|
||||
70
src/Sylius/Behat/Context/Hook/SessionContext.php
Normal file
70
src/Sylius/Behat/Context/Hook/SessionContext.php
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Sylius\Behat\Context\Hook;
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
use Symfony\Component\HttpFoundation\Exception\SessionNotFoundException;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionFactoryInterface;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
|
||||
final class SessionContext implements Context
|
||||
{
|
||||
public function __construct(
|
||||
private RequestStack $requestStack,
|
||||
private ?SessionFactoryInterface $sessionFactory = null
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @BeforeScenario @ui
|
||||
*/
|
||||
public function startSession(): void
|
||||
{
|
||||
if (null === $this->sessionFactory) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->requestStack->getSession();
|
||||
} catch (SessionNotFoundException) {
|
||||
$session = $this->sessionFactory->createSession();
|
||||
$session->start();
|
||||
$session->save();
|
||||
|
||||
$request = $this->requestStack->getMainRequest();
|
||||
if (null !== $request) {
|
||||
$this->saveSessionOnRequest($request, $session);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->saveSessionOnNewRequest($session);
|
||||
}
|
||||
}
|
||||
|
||||
private function saveSessionOnNewRequest(SessionInterface $session): void
|
||||
{
|
||||
$request = new Request();
|
||||
$this->saveSessionOnRequest($request, $session);
|
||||
|
||||
$this->requestStack->push($request);
|
||||
}
|
||||
|
||||
private function saveSessionOnRequest(Request $request, SessionInterface $session): void
|
||||
{
|
||||
$request->setSession($session);
|
||||
}
|
||||
}
|
||||
|
|
@ -356,9 +356,9 @@ final class PromotionContext implements Context
|
|||
*/
|
||||
public function thisPromotionGivesPercentageDiscountOnEveryProductInTheChannelAndInTheChannel(
|
||||
PromotionInterface $promotion,
|
||||
int $firstPercentage,
|
||||
float $firstPercentage,
|
||||
ChannelInterface $firstChannel,
|
||||
int $secondPercentage,
|
||||
float $secondPercentage,
|
||||
ChannelInterface $secondChannel,
|
||||
): void {
|
||||
/** @var PromotionActionInterface $action */
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ final class LexicalContext implements Context
|
|||
*/
|
||||
public function getPercentageFromString(string $percentage): float
|
||||
{
|
||||
return ((int) $percentage) / 100;
|
||||
return ((float) $percentage / 100);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -701,14 +701,6 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
Assert::same($this->formElement->getValidationMessage(), 'The percentage discount amount must be a number and can not be empty.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then I should be notified that a discount amount is not valid
|
||||
*/
|
||||
public function iShouldBeNotifiedThatADiscountAmountIsNotValid(): void
|
||||
{
|
||||
Assert::same($this->formElement->getValidationMessage(), 'This value is not valid.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then I should be notified that a discount amount should be configured for at least one channel
|
||||
*/
|
||||
|
|
@ -921,14 +913,6 @@ final class ManagingCatalogPromotionsContext implements Context
|
|||
Assert::true($this->indexPage->isSingleResourceOnPage(['code' => $code]));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then this catalog promotion should be usable
|
||||
*/
|
||||
public function thisCatalogPromotionShouldBeUsable(): void
|
||||
{
|
||||
// Intentionally left blank
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then the catalog promotion :catalogPromotionName should be available in channel :channelName
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ final class ManagingPromotionsContext implements Context
|
|||
*/
|
||||
public function iShouldBeNotifiedThatAMinimalValueShouldBeNumeric($element)
|
||||
{
|
||||
$this->assertFieldValidationMessage($element, 'This value is not valid.');
|
||||
$this->assertFieldValidationMessage($element, 'Please enter a valid money amount.');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -738,11 +738,7 @@ final class ManagingPromotionsContext implements Context
|
|||
Assert::same($this->updatePage->getActionValidationErrorsCount($channel->getCode()), $count);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $element
|
||||
* @param string $expectedMessage
|
||||
*/
|
||||
private function assertFieldValidationMessage($element, $expectedMessage)
|
||||
private function assertFieldValidationMessage(string $element, string $expectedMessage)
|
||||
{
|
||||
/** @var CreatePageInterface|UpdatePageInterface $currentPage */
|
||||
$currentPage = $this->currentPageResolver->getCurrentPageWithForm([$this->createPage, $this->updatePage]);
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@ declare(strict_types=1);
|
|||
namespace Sylius\Behat\Context\Ui;
|
||||
|
||||
use Behat\Behat\Context\Context;
|
||||
use Sylius\Behat\Service\Checker\EmailCheckerInterface;
|
||||
use Sylius\Behat\Service\SharedStorageInterface;
|
||||
use Sylius\Component\Core\Model\OrderInterface;
|
||||
use Sylius\Component\Core\Model\ShipmentInterface;
|
||||
use Sylius\Component\Core\Test\Services\EmailCheckerInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
use Webmozart\Assert\Assert;
|
||||
|
||||
|
|
|
|||
|
|
@ -32,9 +32,10 @@
|
|||
</service>
|
||||
|
||||
<service id="sylius.behat.admin_security" class="Sylius\Behat\Service\SecurityService" public="false">
|
||||
<argument type="service" id="session" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="sylius.behat.cookie_setter" />
|
||||
<argument type="string">admin</argument>
|
||||
<argument type="service" id="session.factory" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.api_security" class="Sylius\Behat\Service\ApiSecurityService" public="true">
|
||||
|
|
@ -43,9 +44,10 @@
|
|||
</service>
|
||||
|
||||
<service id="sylius.behat.shop_security" class="Sylius\Behat\Service\SecurityService" public="false">
|
||||
<argument type="service" id="session" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="sylius.behat.cookie_setter" />
|
||||
<argument type="string">shop</argument>
|
||||
<argument type="service" id="session.factory" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="Sylius\Behat\Service\SessionManagerInterface" class="Sylius\Behat\Service\SessionManager" public="false">
|
||||
|
|
@ -95,5 +97,28 @@
|
|||
<argument>100000</argument>
|
||||
<argument>7</argument>
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.email_checker" class="Sylius\Behat\Service\Checker\EmailChecker">
|
||||
<argument type="service" id="test.mailer_pool" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.message_send_cacher" class="Sylius\Behat\Service\MessageSendCacher">
|
||||
<argument type="service" id="test.mailer_pool" />
|
||||
<tag name="kernel.event_subscriber" />
|
||||
</service>
|
||||
|
||||
<service id="api_platform.iri_converter" class="Sylius\Behat\Service\Converter\IriConverter" public="false">
|
||||
<argument type="service" id="api_platform.metadata.property.name_collection_factory" />
|
||||
<argument type="service" id="api_platform.metadata.property.metadata_factory" />
|
||||
<argument type="service" id="api_platform.item_data_provider" />
|
||||
<argument type="service" id="api_platform.route_name_resolver" />
|
||||
<argument type="service" id="api_platform.router" />
|
||||
<argument type="service" id="api_platform.property_accessor" />
|
||||
<argument type="service" id="api_platform.identifiers_extractor.cached" />
|
||||
<argument type="service" id="api_platform.subresource_data_provider" on-invalid="ignore" />
|
||||
<argument type="service" id="api_platform.identifier.converter" on-invalid="ignore" />
|
||||
<argument type="service" id="api_platform.resource_class_resolver" />
|
||||
<argument type="service" id="api_platform.metadata.resource.metadata_factory" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
<service id="sylius.behat.context.api.admin.ajax" class="Sylius\Behat\Context\Api\Admin\AjaxContext">
|
||||
<argument type="service" id="test.client" />
|
||||
<argument type="service" id="session" />
|
||||
<argument type="service" id="request_stack" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.api.admin.login" class="Sylius\Behat\Context\Api\Admin\LoginContext">
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
|
||||
<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" />
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
</service>
|
||||
|
||||
|
|
@ -171,7 +171,6 @@
|
|||
<service id="sylius.behat.context.api.admin.managing_catalog_promotions" class="Sylius\Behat\Context\Api\Admin\ManagingCatalogPromotionsContext">
|
||||
<argument type="service" id="sylius.behat.api_platform_client.admin" />
|
||||
<argument type="service" id="Sylius\Behat\Client\ResponseCheckerInterface" />
|
||||
<argument type="service" id="sylius.event_bus" />
|
||||
<argument type="service" id="api_platform.iri_converter" />
|
||||
<argument type="service" id="sylius.behat.shared_storage" />
|
||||
</service>
|
||||
|
|
|
|||
|
|
@ -19,13 +19,17 @@
|
|||
<argument type="service" id="doctrine.orm.entity_manager" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.hook.session" class="Sylius\Behat\Context\Hook\SessionContext">
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument type="service" id="session.factory" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.hook.test_theme" class="Sylius\Behat\Context\Hook\TestThemeContext">
|
||||
<argument type="service" id="Sylius\Bundle\ThemeBundle\Configuration\Test\TestThemeConfigurationManagerInterface" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.behat.context.hook.email_spool" class="Sylius\Behat\Context\Hook\EmailSpoolContext">
|
||||
<argument type="service" id="sylius.behat.email_checker"/>
|
||||
<argument type="service" id="filesystem" />
|
||||
<service id="sylius.behat.context.hook.mailer" class="Sylius\Behat\Context\Hook\MailerContext">
|
||||
<argument type="service" id="test.mailer_pool"/>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ default:
|
|||
api_customer_registration:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.customer
|
||||
- sylius.behat.context.transform.locale
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ default:
|
|||
api_email_verification:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ default:
|
|||
api_customer_login:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.locale
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ default:
|
|||
api_customer_requesting_contact:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ default:
|
|||
api_managing_orders:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.mailer
|
||||
- Sylius\Calendar\Tests\Behat\Context\Hook\CalendarContext
|
||||
|
||||
- sylius.behat.context.setup.admin_api_security
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ default:
|
|||
api_managing_shipments:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_address_book:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.customer
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_customer_account:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_customer_registration:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.customer
|
||||
- sylius.behat.context.transform.locale
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_email_verification:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_customer_login:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.locale
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_countries:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.country
|
||||
- sylius.behat.context.transform.province
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_zones:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.country
|
||||
- sylius.behat.context.transform.province
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_dashboard:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.channel
|
||||
- sylius.behat.context.setup.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_impersonating_customers:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.customer
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_admin_locale:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.locale
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_administrator_login:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.admin
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_panel:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.admin
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_shopping_cart:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_channels:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_channels:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_products_accessibility_in_multiple_channels:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_theming:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.test_theme
|
||||
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_checkout:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.country
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_paying_for_order:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_customer_requesting_contact:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_currencies:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_currencies:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.currency
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_exchange_rates:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
- sylius.behat.context.transform.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_homepage:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.lexical
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_cart_inventory:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.channel
|
||||
- sylius.behat.context.setup.product
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_checkout_inventory:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.user
|
||||
- sylius.behat.context.setup.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_inventory:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.admin_security
|
||||
- sylius.behat.context.setup.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_inventory:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.admin_security
|
||||
- sylius.behat.context.setup.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_locales:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.locale
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_locales:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.locale
|
||||
- sylius.behat.context.transform.shared_storage
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ default:
|
|||
ui_managing_orders:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.email_spool
|
||||
- sylius.behat.context.hook.session
|
||||
- sylius.behat.context.hook.mailer
|
||||
- Sylius\Calendar\Tests\Behat\Context\Hook\CalendarContext
|
||||
|
||||
- sylius.behat.context.setup.admin_security
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_modifying_address:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.channel
|
||||
- sylius.behat.context.setup.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_order_history:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.admin_security
|
||||
- sylius.behat.context.setup.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_payment_methods:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.channel
|
||||
- sylius.behat.context.setup.currency
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ default:
|
|||
ui_managing_payments:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.channel
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_viewing_products:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.product
|
||||
- sylius.behat.context.transform.product_variant
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_adding_product_review:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.customer
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_product_association_types:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.locale
|
||||
- sylius.behat.context.transform.product_association_type
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_product_attributes:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.lexical
|
||||
- sylius.behat.context.transform.locale
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_product_options:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.lexical
|
||||
- sylius.behat.context.transform.locale
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_product_reviews:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.lexical
|
||||
- sylius.behat.context.transform.customer
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_product_variants:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_managing_products:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.address
|
||||
- sylius.behat.context.transform.admin
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_viewing_product_reviews:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.customer
|
||||
- sylius.behat.context.transform.lexical
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_viewing_products:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.transform.channel
|
||||
- sylius.behat.context.transform.currency
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ default:
|
|||
ui_applying_catalog_promotions:
|
||||
contexts:
|
||||
- sylius.behat.context.hook.doctrine_orm
|
||||
- sylius.behat.context.hook.session
|
||||
|
||||
- sylius.behat.context.setup.admin_security
|
||||
- sylius.behat.context.setup.channel
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue