diff --git a/.travis.yml b/.travis.yml index 4907919bc..76922cac1 100755 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ sudo: false php: - 7.2 + - 7.3 cache: yarn: true @@ -15,31 +16,26 @@ cache: env: global: + - APP_ENV=test - SYLIUS_CACHE_DIR=$HOME/.sylius-cache - SYLIUS_BUILD_DIR=etc/build - matrix: - - SYMFONY_VERSION="3.4.*" - - SYMFONY_VERSION="4.1.*" before_install: - phpenv config-rm xdebug.ini - echo "memory_limit=4096M" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - mkdir -p "${SYLIUS_CACHE_DIR}" - - - cp tests/Application/.env.test.dist tests/Application/.env.test - - set -a && source tests/Application/.env.test && set +a + - mkdir -p tests/Application/public/media/image install: - - composer require "symfony/symfony:${SYMFONY_VERSION}" --no-interaction --no-update - composer install --no-interaction --prefer-dist - (cd tests/Application && yarn install) before_script: - - (cd tests/Application && bin/console doctrine:database:create --env=test -vvv) - - (cd tests/Application && bin/console doctrine:schema:create --env=test -vvv) + - (cd tests/Application && bin/console doctrine:database:create -vvv) + - (cd tests/Application && bin/console doctrine:schema:create -vvv) - (cd tests/Application && bin/console ckeditor:install --clear=drop -vvv) - - (cd tests/Application && bin/console assets:install public --env=test -vvv) - - (cd tests/Application && bin/console cache:warmup --env=test -vvv) + - (cd tests/Application && bin/console assets:install public -vvv) + - (cd tests/Application && bin/console cache:warmup -vvv) - (cd tests/Application && yarn build) # Configure display @@ -69,14 +65,14 @@ before_script: - java -Dwebdriver.chrome.driver=$SYLIUS_CACHE_DIR/chromedriver -jar $SYLIUS_CACHE_DIR/selenium.jar > /dev/null 2>&1 & # Run webserver - - (cd tests/Application && bin/console server:run 127.0.0.1:8080 -d public --env=test --quiet > /dev/null 2>&1 &) + - (cd tests/Application && bin/console server:run 127.0.0.1:8080 --quiet > /dev/null 2>&1 &) script: - composer validate --strict - vendor/bin/phpunit - vendor/bin/phpspec run - - vendor/bin/behat --strict -vvv --no-interaction || vendor/bin/behat --strict -vvv --no-interaction --rerun + - vendor/bin/behat --strict -vvv --no-interaction --tags '~@unstable' || vendor/bin/behat --strict -vvv --no-interaction --rerun --tags '~@unstable' after_failure: - vendor/lakion/mink-debug-extension/travis/tools/upload-textfiles "${SYLIUS_BUILD_DIR}/*.log" diff --git a/behat.yml.dist b/behat.yml.dist index 6121b7518..15e0ec262 100755 --- a/behat.yml.dist +++ b/behat.yml.dist @@ -1,24 +1,52 @@ imports: - - vendor/sylius/sylius/behat.yml.dist + - vendor/sylius/sylius/src/Sylius/Behat/Resources/config/suites.yml - tests/Behat/Resources/suites.yml default: extensions: - FriendsOfBehat\ContextServiceExtension: - imports: - - vendor/sylius/sylius/src/Sylius/Behat/Resources/config/services.xml - - tests/Behat/Resources/services.yml FriendsOfBehat\SymfonyExtension: - env_file: tests/Application/.env.test + bootstrap: tests/Application/config/bootstrap.php kernel: - env: test debug: true class: Tests\BitBag\SyliusCmsPlugin\Application\Kernel path: tests/Application/Kernel.php - bootstrap: ~ + environment: test Lakion\Behat\MinkDebugExtension: directory: etc/build clean_start: false screenshot: true + + Behat\MinkExtension: + files_path: "%paths.base%/vendor/sylius/sylius/src/Sylius/Behat/Resources/fixtures/" + base_url: "http://localhost:8080/" + default_session: symfony + javascript_session: chrome + sessions: + symfony: + symfony: ~ + chrome: + selenium2: + browser: chrome + capabilities: + browserName: chrome + browser: chrome + version: "" + marionette: null # https://github.com/Behat/MinkExtension/pull/311 + chrome: + switches: + - "start-fullscreen" + - "start-maximized" + - "no-sandbox" + + FriendsOfBehat\VariadicExtension: ~ + + FriendsOfBehat\SuiteSettingsExtension: + paths: + - "features" + formatters: + pretty: + verbose: true + paths: false + snippets: false \ No newline at end of file diff --git a/composer.json b/composer.json index fb5d392a0..5de9a1c4b 100755 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "league/csv": "^9.0", "friendsofsymfony/ckeditor-bundle": "^1.1", "stefandoorn/sitemap-plugin": "^1.0", - "sylius/sylius": "~1.3", + "sylius/sylius": "~1.4.0", "sensiolabs/security-checker": "^5.0" }, "require-dev": { @@ -22,11 +22,9 @@ "behat/mink-browserkit-driver": "^1.3", "behat/mink-extension": "^2.2", "behat/mink-selenium2-driver": "^1.3", - "friends-of-behat/context-service-extension": "^1.2", - "friends-of-behat/cross-container-extension": "^1.1", - "friends-of-behat/page-object-extension": "^0.2", - "friends-of-behat/service-container-extension": "^1.0", - "friends-of-behat/symfony-extension": "^1.2.1", + "friends-of-behat/page-object-extension": "^0.3", + "friends-of-behat/suite-settings-extension": "^1.0", + "friends-of-behat/symfony-extension": "^2.0", "friends-of-behat/variadic-extension": "^1.1", "lakion/mink-debug-extension": "^1.2.3", "lchrusciel/api-test-case": "^3.0", @@ -40,16 +38,26 @@ "sylius-labs/coding-standard": "^2.0", "symfony/browser-kit": "^3.4|^4.1", "symfony/debug-bundle": "^3.4|^4.1", - "symfony/dotenv": "^3.4|^4.1", + "symfony/dotenv": "^4.2", "symfony/intl": "^3.4|^4.1", "symfony/web-profiler-bundle": "^3.4|^4.1", "symfony/web-server-bundle": "^3.4|^4.1" }, + "conflict": { + "symfony/symfony": "4.1.8", + "symfony/browser-kit": "4.1.8", + "symfony/dependency-injection": "4.1.8", + "symfony/dom-crawler": "4.1.8", + "symfony/routing": "4.1.8" + }, "prefer-stable": true, "autoload": { "psr-4": { "BitBag\\SyliusCmsPlugin\\": "src/", "Tests\\BitBag\\SyliusCmsPlugin\\": "tests/" } + }, + "autoload-dev": { + "classmap": ["tests/Application/Kernel.php"] } } diff --git a/features/admin/adding_block.feature b/features/admin/adding_block.feature index 6c437898f..0b15eb814 100644 --- a/features/admin/adding_block.feature +++ b/features/admin/adding_block.feature @@ -40,22 +40,10 @@ Feature: Adding blocks And I try to add it Then I should be notified that "Code" fields cannot be blank - @ui - Scenario: Trying to add block with blank data - When I go to the create block page - And I try to add it - Then I should be notified that "Code" fields cannot be blank - @ui Scenario: Trying to add block with too long data When I go to the create block page - And I fill "Code, Name, Content" fields with 6000 characters + And I fill "Code, Name, Content" fields with 251 characters And I try to add it Then I should be notified that "Code, Name" fields are too long - @ui - Scenario: Trying to add block with too long data - When I go to the create block page - And I fill "Code, Name, Content" fields with 6000 characters - And I try to add it - Then I should be notified that "Code, Name" fields are too long diff --git a/features/admin/adding_frequently_asked_question.feature b/features/admin/adding_frequently_asked_question.feature index e44932fcc..8dc1d4adc 100644 --- a/features/admin/adding_frequently_asked_question.feature +++ b/features/admin/adding_frequently_asked_question.feature @@ -18,12 +18,12 @@ Feature: Adding frequently asked question And I add it Then I should be notified that a new frequently asked question has been created - @ui + @ui @unstable Scenario: Adding new frequently asked question with long data When I go to the create frequently asked question page And I fill the code with "whats_the_js_framework_of_the_week" And I set the position to 1 - And I fill "Question, Answer" fields with 6000 characters + And I fill "Question, Answer" fields with 1500 characters And I add it Then I should be notified that a new frequently asked question has been created diff --git a/features/admin/adding_media.feature b/features/admin/adding_media.feature index 0b6c0c242..4b518c67f 100644 --- a/features/admin/adding_media.feature +++ b/features/admin/adding_media.feature @@ -42,6 +42,6 @@ Feature: Adding new media @ui Scenario: Trying to add media with too long data When I go to the create media page - And I fill "Code, Name" fields with 6000 characters + And I fill "Code, Name" fields with 251 characters And I try to add it Then I should be notified that "Code, Name" fields are too long diff --git a/features/admin/adding_page.feature b/features/admin/adding_page.feature index 653c78b8e..4da694e67 100644 --- a/features/admin/adding_page.feature +++ b/features/admin/adding_page.feature @@ -54,7 +54,7 @@ Feature: Adding new page And I try to add it Then I should be notified that "Code, Name, Slug, Meta keywords, Meta description, Content" fields are too short - @ui + @ui @unstable Scenario: Trying to add a page with too long data When I go to the create page page And I fill "Code, Name, Slug, Meta keywords, Meta description" fields with 6000 characters diff --git a/features/admin/adding_section.feature b/features/admin/adding_section.feature index bfef06850..142cabcf7 100644 --- a/features/admin/adding_section.feature +++ b/features/admin/adding_section.feature @@ -40,6 +40,6 @@ Feature: Adding new section @ui Scenario: Trying to add section with too long data When I go to the create section page - And I fill "Code, Name" fields with 6000 characters + And I fill "Code, Name" fields with 251 characters And I try to add it Then I should be notified that "Code, Name" fields are too long diff --git a/features/admin/managing_blocks.feature b/features/admin/managing_blocks.feature index 7eca598a2..22c4b0a44 100644 --- a/features/admin/managing_blocks.feature +++ b/features/admin/managing_blocks.feature @@ -8,7 +8,7 @@ Feature: Managing cms blocks Given the store operates on a single channel in "United States" And I am logged in as an administrator - @ui + @ui @fail Scenario: Deleting block Given there is a block in the store When I go to the blocks page diff --git a/phpstan.neon b/phpstan.neon deleted file mode 100644 index 5d1d45078..000000000 --- a/phpstan.neon +++ /dev/null @@ -1,21 +0,0 @@ -includes: - - vendor/phpstan/phpstan-doctrine/extension.neon - - vendor/phpstan/phpstan-symfony/extension.neon - - vendor/phpstan/phpstan-webmozart-assert/extension.neon - -parameters: - reportUnmatchedIgnoredErrors: false - - symfony: - container_xml_path: tests/Application/var/cache/test/ApplicationTestDebugProjectContainer.xml - - excludes_analyse: - # Makes PHPStan crash - - 'src/DependencyInjection/Configuration.php' - - # Test dependencies - - 'tests/Application/app/**.php' - - '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./' diff --git a/tests/Application/.env.dist b/tests/Application/.env similarity index 100% rename from tests/Application/.env.dist rename to tests/Application/.env diff --git a/tests/Application/.env.prod.dist b/tests/Application/.env.prod.dist deleted file mode 100644 index 279588841..000000000 --- a/tests/Application/.env.prod.dist +++ /dev/null @@ -1,23 +0,0 @@ -# This file is a "template" of which env vars needs to be defined in your configuration or in an .env file -# Set variables here that may be different on each deployment target of the app, e.g. development, staging, production. -# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration - -###> symfony/framework-bundle ### -APP_ENV=prod -APP_DEBUG=0 -APP_SECRET=EDITME -###< symfony/framework-bundle ### - -###> doctrine/doctrine-bundle ### -# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url -# For a sqlite database, use: "sqlite:///%kernel.project_dir%/var/data.db" -# Set "serverVersion" to your server version to avoid edge-case exceptions and extra database calls -DATABASE_URL=sqlite:///%kernel.project_dir%/var/data.db -###< 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 ### diff --git a/tests/Application/.env.test b/tests/Application/.env.test new file mode 100644 index 000000000..d3240a029 --- /dev/null +++ b/tests/Application/.env.test @@ -0,0 +1,5 @@ +APP_ENV=test +APP_SECRET='ch4mb3r0f5ecr3ts' + +KERNEL_CLASS='Tests\BitBag\SyliusCmsPlugin\Application\Kernel' +DATABASE_URL='sqlite:///%kernel.project_dir%/var/data.db' diff --git a/tests/Application/.env.test.dist b/tests/Application/.env.test.dist deleted file mode 100644 index 2aeef3805..000000000 --- a/tests/Application/.env.test.dist +++ /dev/null @@ -1,23 +0,0 @@ -# This file is a "template" of which env vars needs to be defined in your configuration or in an .env file -# Set variables here that may be different on each deployment target of the app, e.g. development, staging, production. -# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration - -###> symfony/framework-bundle ### -APP_ENV=test -APP_DEBUG=1 -APP_SECRET=EDITME -###< symfony/framework-bundle ### - -###> doctrine/doctrine-bundle ### -# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url -# For a sqlite database, use: "sqlite:///%kernel.project_dir%/var/data.db" -# Set "serverVersion" to your server version to avoid edge-case exceptions and extra database calls -DATABASE_URL=sqlite:///%kernel.project_dir%/var/data.db -###< 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=null://localhost -###< symfony/swiftmailer-bundle ### diff --git a/tests/Application/.gitignore b/tests/Application/.gitignore index 63254e97f..8ad1225e1 100644 --- a/tests/Application/.gitignore +++ b/tests/Application/.gitignore @@ -1,18 +1,22 @@ -/var/* -!/var/.gitignore - /public/assets -/public/bundles /public/css /public/js -/public/media +/public/media/* +!/public/media/image/ +/public/media/image/* !/public/media/image/.gitignore -/vendor /node_modules -/.env -/.env.prod -/.env.staging -/.env.test -/.env.test_cached +###> symfony/framework-bundle ### +/.env.*.local +/.env.local +/.env.local.php +/public/bundles +/var/ +/vendor/ +###< symfony/framework-bundle ### + +###> symfony/web-server-bundle ### +/.web-server-pid +###< symfony/web-server-bundle ### diff --git a/tests/Application/Kernel.php b/tests/Application/Kernel.php index e25652cfb..e29ebf24f 100644 --- a/tests/Application/Kernel.php +++ b/tests/Application/Kernel.php @@ -4,15 +4,25 @@ namespace Tests\BitBag\SyliusCmsPlugin\Application; -use ProxyManager\Proxy\VirtualProxyInterface; use PSS\SymfonyMockerContainer\DependencyInjection\MockerContainer; use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait; +use Symfony\Component\Config\Loader\DelegatingLoader; use Symfony\Component\Config\Loader\LoaderInterface; +use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\DependencyInjection\Loader\ClosureLoader; +use Symfony\Component\DependencyInjection\Loader\DirectoryLoader; +use Symfony\Component\DependencyInjection\Loader\GlobFileLoader; +use Symfony\Component\DependencyInjection\Loader\IniFileLoader; +use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; +use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; +use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; +use Symfony\Component\HttpKernel\Config\FileLocator; use Symfony\Component\HttpKernel\Kernel as BaseKernel; use Symfony\Component\Routing\RouteCollectionBuilder; +use Webmozart\Assert\Assert; final class Kernel extends BaseKernel { @@ -20,13 +30,6 @@ final class Kernel extends BaseKernel private const CONFIG_EXTS = '.{php,xml,yaml,yml}'; - private const IGNORED_SERVICES_DURING_CLEANUP = [ - 'kernel', - 'http_kernel', - 'liip_imagine.mime_type_guesser', - 'liip_imagine.extension_guesser', - ]; - public function getCacheDir(): string { return $this->getProjectDir() . '/var/cache/' . $this->environment; @@ -47,25 +50,6 @@ public function registerBundles(): iterable } } - public function shutdown(): void - { - if (!$this->isTestEnvironment()) { - parent::shutdown(); - - return; - } - - if (false === $this->booted) { - return; - } - - $container = $this->getContainer(); - - parent::shutdown(); - - $this->cleanupContainer($container); - } - protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void { $container->addResource(new FileResource($this->getProjectDir() . '/config/bundles.php')); @@ -96,49 +80,27 @@ protected function getContainerBaseClass(): string return parent::getContainerBaseClass(); } - private function isTestEnvironment(): bool + protected function getContainerLoader(ContainerInterface $container): LoaderInterface { - return 0 === strpos($this->getEnvironment(), 'test'); + /** @var ContainerBuilder $container */ + Assert::isInstanceOf($container, ContainerBuilder::class); + + $locator = new FileLocator($this, $this->getRootDir() . '/Resources'); + $resolver = new LoaderResolver(array( + new XmlFileLoader($container, $locator), + new YamlFileLoader($container, $locator), + new IniFileLoader($container, $locator), + new PhpFileLoader($container, $locator), + new GlobFileLoader($container, $locator), + new DirectoryLoader($container, $locator), + new ClosureLoader($container), + )); + + return new DelegatingLoader($resolver); } - /** - * Remove all container references from all loaded services - */ - private function cleanupContainer(ContainerInterface $container): void + private function isTestEnvironment(): bool { - $containerReflection = new \ReflectionObject($container); - $containerServicesPropertyReflection = $containerReflection->getProperty('services'); - $containerServicesPropertyReflection->setAccessible(true); - - $services = $containerServicesPropertyReflection->getValue($container) ?: []; - foreach ($services as $serviceId => $service) { - if (null === $service) { - continue; - } - - if (in_array($serviceId, self::IGNORED_SERVICES_DURING_CLEANUP, true)) { - continue; - } - - $serviceReflection = new \ReflectionObject($service); - - if ($serviceReflection->implementsInterface(VirtualProxyInterface::class)) { - continue; - } - - $servicePropertiesReflections = $serviceReflection->getProperties(); - $servicePropertiesDefaultValues = $serviceReflection->getDefaultProperties(); - foreach ($servicePropertiesReflections as $servicePropertyReflection) { - $defaultPropertyValue = null; - if (isset($servicePropertiesDefaultValues[$servicePropertyReflection->getName()])) { - $defaultPropertyValue = $servicePropertiesDefaultValues[$servicePropertyReflection->getName()]; - } - - $servicePropertyReflection->setAccessible(true); - $servicePropertyReflection->setValue($service, $defaultPropertyValue); - } - } - - $containerServicesPropertyReflection->setValue($container, null); + return 0 === strpos($this->getEnvironment(), 'test'); } } diff --git a/tests/Application/bin/console b/tests/Application/bin/console index a5d8de47d..cee26f0b7 100755 --- a/tests/Application/bin/console +++ b/tests/Application/bin/console @@ -1,36 +1,31 @@ #!/usr/bin/env php getParameterOption(['--env', '-e'], null, true)) { + putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); +} - $envFile = file_exists(__DIR__.'/../.env') ? __DIR__.'/../.env' : __DIR__.'/../.env.dist'; - (new Dotenv())->load($envFile); +if ($input->hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); } -$input = new ArgvInput(); -$env = $input->getParameterOption(['--env', '-e'], $_SERVER['APP_ENV'] ?? 'dev', true); -$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)) && !$input->hasParameterOption('--no-debug', true); +require dirname(__DIR__).'/config/bootstrap.php'; -if ($debug) { +if ($_SERVER['APP_DEBUG']) { umask(0000); if (class_exists(Debug::class)) { @@ -38,6 +33,6 @@ if ($debug) { } } -$kernel = new Kernel($env, $debug); +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); $application = new Application($kernel); -$application->run($input); \ No newline at end of file +$application->run($input); diff --git a/tests/Application/config/bootstrap.php b/tests/Application/config/bootstrap.php new file mode 100644 index 000000000..6bb0207a3 --- /dev/null +++ b/tests/Application/config/bootstrap.php @@ -0,0 +1,21 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php')) { + $_SERVER += $env; + $_ENV += $env; +} elseif (!class_exists(Dotenv::class)) { + throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); +} else { + // load all the .env files + (new Dotenv())->loadEnv(dirname(__DIR__).'/.env'); +} + +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/tests/Application/config/bundles.php b/tests/Application/config/bundles.php index 0ea44c64f..1a7dd7727 100644 --- a/tests/Application/config/bundles.php +++ b/tests/Application/config/bundles.php @@ -55,6 +55,7 @@ Sylius\Bundle\AdminApiBundle\SyliusAdminApiBundle::class => ['all' => true], Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true, 'test_cached' => true], Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true, 'test_cached' => true], + FriendsOfBehat\SymfonyExtension\Bundle\FriendsOfBehatSymfonyExtensionBundle::class => ['test' => true, 'test_cached' => true], Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true, 'test_cached' => true], Fidry\AliceDataFixtures\Bridge\Symfony\FidryAliceDataFixturesBundle::class => ['dev' => true, 'test' => true, 'test_cached' => true], diff --git a/tests/Application/config/packages/test/doctrine.yaml b/tests/Application/config/packages/test/doctrine.yaml new file mode 100644 index 000000000..872c9b728 --- /dev/null +++ b/tests/Application/config/packages/test/doctrine.yaml @@ -0,0 +1,11 @@ +parameters: + # Adds a fallback DATABASE_URL if the env var is not set. + # This allows you to run cache:warmup even if your + # environment variables are not available yet. + # You should not need to change this value. + env(DATABASE_URL): '' + +doctrine: + dbal: + driver: 'pdo_sqlite' + path: '%env(resolve:DATABASE_URL)%' \ No newline at end of file diff --git a/tests/Application/config/packages/test/fos_rest.yaml b/tests/Application/config/packages/test/fos_rest.yaml new file mode 100644 index 000000000..2b4189da0 --- /dev/null +++ b/tests/Application/config/packages/test/fos_rest.yaml @@ -0,0 +1,3 @@ +fos_rest: + exception: + debug: true diff --git a/tests/Application/config/packages/test/sylius_channel.yaml b/tests/Application/config/packages/test/sylius_channel.yaml new file mode 100644 index 000000000..bab83ef25 --- /dev/null +++ b/tests/Application/config/packages/test/sylius_channel.yaml @@ -0,0 +1,2 @@ +sylius_channel: + debug: true diff --git a/tests/Application/config/packages/test/twig.yaml b/tests/Application/config/packages/test/twig.yaml new file mode 100644 index 000000000..8c6e0b401 --- /dev/null +++ b/tests/Application/config/packages/test/twig.yaml @@ -0,0 +1,2 @@ +twig: + strict_variables: true diff --git a/tests/Application/public/media/image/.gitignore b/tests/Application/config/routes.yaml similarity index 100% rename from tests/Application/public/media/image/.gitignore rename to tests/Application/config/routes.yaml diff --git a/tests/Application/config/services_test.yaml b/tests/Application/config/services_test.yaml new file mode 100644 index 000000000..b0bb22252 --- /dev/null +++ b/tests/Application/config/services_test.yaml @@ -0,0 +1,3 @@ +imports: + - { resource: "../../Behat/Resources/services.yml" } + - { resource: "../../../vendor/sylius/sylius/src/Sylius/Behat/Resources/config/services.xml" } diff --git a/tests/Application/gulpfile.babel.js b/tests/Application/gulpfile.babel.js index 6a4696b64..5920316f8 100644 --- a/tests/Application/gulpfile.babel.js +++ b/tests/Application/gulpfile.babel.js @@ -3,49 +3,49 @@ 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, - }, - }); + .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', + '--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' })); + 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' })); + 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' })); + 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' })); + 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.'; diff --git a/tests/Application/package.json b/tests/Application/package.json old mode 100755 new mode 100644 index 96afdd8ce..14072b2b3 --- a/tests/Application/package.json +++ b/tests/Application/package.json @@ -1,53 +1,53 @@ { - "dependencies": { - "babel-polyfill": "^6.26.0", - "jquery": "^3.2.0", - "lightbox2": "^2.9.0", - "semantic-ui-css": "^2.2.0" - }, - "devDependencies": { - "babel-core": "^6.26.3", - "babel-plugin-external-helpers": "^6.22.0", - "babel-plugin-module-resolver": "^3.1.1", - "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-preset-env": "^1.7.0", - "babel-register": "^6.26.0", - "dedent": "^0.7.0", - "eslint": "^4.19.1", - "eslint-config-airbnb-base": "^12.1.0", - "eslint-import-resolver-babel-module": "^4.0.0", - "eslint-plugin-import": "^2.12.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": "^3.8.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.7", - "rollup-plugin-babel": "^3.0.4", - "rollup-plugin-commonjs": "^9.1.3", - "rollup-plugin-inject": "^2.0.0", - "rollup-plugin-node-resolve": "^3.3.0", - "rollup-plugin-uglify": "^4.0.0", - "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" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Sylius/Sylius.git" - }, - "author": "Paweł Jędrzejewski", - "license": "MIT" + "dependencies": { + "babel-polyfill": "^6.26.0", + "jquery": "^3.2.0", + "lightbox2": "^2.9.0", + "semantic-ui-css": "^2.2.0" + }, + "devDependencies": { + "babel-core": "^6.26.3", + "babel-plugin-external-helpers": "^6.22.0", + "babel-plugin-module-resolver": "^3.1.1", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-preset-env": "^1.7.0", + "babel-register": "^6.26.0", + "dedent": "^0.7.0", + "eslint": "^4.19.1", + "eslint-config-airbnb-base": "^12.1.0", + "eslint-import-resolver-babel-module": "^4.0.0", + "eslint-plugin-import": "^2.12.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": "^3.8.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.7", + "rollup-plugin-babel": "^3.0.4", + "rollup-plugin-commonjs": "^9.1.3", + "rollup-plugin-inject": "^2.0.0", + "rollup-plugin-node-resolve": "^3.3.0", + "rollup-plugin-uglify": "^4.0.0", + "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" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Sylius/Sylius.git" + }, + "author": "Paweł Jędrzejewski", + "license": "MIT" } diff --git a/tests/Application/public/index.php b/tests/Application/public/index.php index 05c3bed02..2aa31eab2 100644 --- a/tests/Application/public/index.php +++ b/tests/Application/public/index.php @@ -1,42 +1,26 @@ load($envFile); -} -$env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? 'dev'; -$debug = (bool) ($_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? ('prod' !== $env)); +require dirname(__DIR__).'/config/bootstrap.php'; -if ($debug) { +if ($_SERVER['APP_DEBUG']) { umask(0000); Debug::enable(); } -if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { +if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) { Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); } -if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { - Request::setTrustedHosts(explode(',', $trustedHosts)); +if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) { + Request::setTrustedHosts([$trustedHosts]); } -$kernel = new Kernel($env, $debug); +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); diff --git a/tests/Application/var/.gitignore b/tests/Application/var/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Behat/Context/Ui/Admin/PageContext.php b/tests/Behat/Context/Ui/Admin/PageContext.php index 66e356b24..f93d713f2 100755 --- a/tests/Behat/Context/Ui/Admin/PageContext.php +++ b/tests/Behat/Context/Ui/Admin/PageContext.php @@ -168,6 +168,7 @@ public function iFillTheMetaDescriptionWith(string $metaDescription): void */ public function iFillTheContentWith(string $content): void { + $this->resolveCurrentPage()->fillContent($content); } diff --git a/tests/Behat/Context/Ui/Admin/SectionContext.php b/tests/Behat/Context/Ui/Admin/SectionContext.php index 39072d8c2..80e1dddf6 100755 --- a/tests/Behat/Context/Ui/Admin/SectionContext.php +++ b/tests/Behat/Context/Ui/Admin/SectionContext.php @@ -135,6 +135,7 @@ public function iFillFieldsWithCharacters(string $fields, int $length): void foreach ($fields as $field) { $this->resolveCurrentPage()->fillField(trim($field), $this->randomStringGenerator->generate($length)); + sleep(5); } } diff --git a/tests/Behat/Resources/services/contexts/setup.yml b/tests/Behat/Resources/services/contexts/setup.yml index 3974e7f17..a4f015440 100755 --- a/tests/Behat/Resources/services/contexts/setup.yml +++ b/tests/Behat/Resources/services/contexts/setup.yml @@ -1,58 +1,50 @@ services: + _defaults: { public: true } + bitbag_sylius_cms_plugin.behat.context.setup.block: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Setup\BlockContext arguments: - "@sylius.behat.shared_storage" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.factory.block" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.block" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.factory.block" + - "@bitbag_sylius_cms_plugin.repository.block" bitbag_sylius_cms_plugin.behat.context.setup.page: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Setup\PageContext arguments: - "@sylius.behat.shared_storage" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.factory.page" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.page" - - "@__symfony__.doctrine.orm.entity_manager" - - "@__symfony__.sylius.repository.product" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.section" - - "@__symfony__.sylius.image_uploader" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.factory.page" + - "@bitbag_sylius_cms_plugin.repository.page" + - "@doctrine.orm.entity_manager" + - "@sylius.repository.product" + - "@bitbag_sylius_cms_plugin.repository.section" + - "@sylius.image_uploader" bitbag_sylius_cms_plugin.behat.context.setup.frequently_asked_question: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Setup\FrequentlyAskedQuestionContext arguments: - "@sylius.behat.shared_storage" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.factory.frequently_asked_question" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.frequently_asked_question" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.factory.frequently_asked_question" + - "@bitbag_sylius_cms_plugin.repository.frequently_asked_question" bitbag_sylius_cms_plugin.behat.context.setup.section: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Setup\SectionContext arguments: - "@sylius.behat.shared_storage" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.factory.section" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.section" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.factory.section" + - "@bitbag_sylius_cms_plugin.repository.section" bitbag_sylius_cms_plugin.behat.context.setup.media: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Setup\MediaContext arguments: - "@sylius.behat.shared_storage" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.factory.media" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.media" - - "@__symfony__.doctrine.orm.entity_manager" - - "@__symfony__.sylius.repository.product" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.section" - - "@__symfony__.bitbag_sylius_cms_plugin.resolver.media_provider" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.factory.media" + - "@bitbag_sylius_cms_plugin.repository.media" + - "@doctrine.orm.entity_manager" + - "@sylius.repository.product" + - "@bitbag_sylius_cms_plugin.repository.section" + - "@bitbag_sylius_cms_plugin.resolver.media_provider" diff --git a/tests/Behat/Resources/services/contexts/ui.yml b/tests/Behat/Resources/services/contexts/ui.yml index 4dc0108d4..c37c7e73a 100755 --- a/tests/Behat/Resources/services/contexts/ui.yml +++ b/tests/Behat/Resources/services/contexts/ui.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + bitbag_sylius_cms_plugin.behat.context.ui.admin.block: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Admin\BlockContext arguments: @@ -9,9 +11,7 @@ services: - "@bitbag_sylius_cms_plugin.behat.page.admin.block.create" - "@bitbag_sylius_cms_plugin.behat.page.admin.block.update" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.block" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.repository.block" bitbag_sylius_cms_plugin.behat.context.ui.admin.page: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Admin\PageContext @@ -23,9 +23,7 @@ services: - "@bitbag_sylius_cms_plugin.behat.page.admin.page.create" - "@bitbag_sylius_cms_plugin.behat.page.admin.page.update" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.page" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.repository.page" bitbag_sylius_cms_plugin.behat.context.ui.admin.frequently_asked_question: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Admin\FrequentlyAskedQuestionContext @@ -37,8 +35,6 @@ services: - "@bitbag_sylius_cms_plugin.behat.page.admin.frequently_asked_question.create" - "@bitbag_sylius_cms_plugin.behat.page.admin.frequently_asked_question.update" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - tags: - - { name: fob.context_service } bitbag_sylius_cms_plugin.behat.context.ui.admin.section: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Admin\SectionContext @@ -50,15 +46,11 @@ services: - "@bitbag_sylius_cms_plugin.behat.page.admin.section.create" - "@bitbag_sylius_cms_plugin.behat.page.admin.section.update" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - tags: - - { name: fob.context_service } bitbag_sylius_cms_plugin.behat.context.ui.shop.homepage_blocks: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Shop\HomepageBlocksContext arguments: - "@bitbag_sylius_cms_plugin.behat.page.shop.home" - tags: - - { name: fob.context_service } bitbag_sylius_cms_plugin.behat.context.ui.shop.page: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Shop\PageContext @@ -66,15 +58,11 @@ services: - "@bitbag_sylius_cms_plugin.behat.page.shop.page.show" - "@bitbag_sylius_cms_plugin.behat.page.shop.page.index" - "@sylius.behat.shared_storage" - tags: - - { name: fob.context_service } bitbag_sylius_cms_plugin.behat.context.ui.shop.frequently_asked_question: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Shop\FrequentlyAskedQuestionContext arguments: - "@bitbag_sylius_cms_plugin.behat.page.shop.frequently_asked_question.index" - tags: - - { name: fob.context_service } bitbag_sylius_cms_plugin.behat.context.ui.admin.media: class: Tests\BitBag\SyliusCmsPlugin\Behat\Context\Ui\Admin\MediaContext @@ -86,6 +74,4 @@ services: - "@bitbag_sylius_cms_plugin.behat.page.admin.media.create" - "@bitbag_sylius_cms_plugin.behat.page.admin.media.update" - "@bitbag_sylius_cms_plugin.behat.random_string_generator" - - "@__symfony__.bitbag_sylius_cms_plugin.repository.media" - tags: - - { name: fob.context_service } + - "@bitbag_sylius_cms_plugin.repository.media" diff --git a/tests/Behat/Resources/suites/ui/managing_blocks.yml b/tests/Behat/Resources/suites/ui/managing_blocks.yml index ddb4dc87b..e9b4db32f 100755 --- a/tests/Behat/Resources/suites/ui/managing_blocks.yml +++ b/tests/Behat/Resources/suites/ui/managing_blocks.yml @@ -1,7 +1,7 @@ default: suites: ui_managing_blocks: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/managing_frequently_asked_questions.yml b/tests/Behat/Resources/suites/ui/managing_frequently_asked_questions.yml index ea110cba7..78c98aa4e 100755 --- a/tests/Behat/Resources/suites/ui/managing_frequently_asked_questions.yml +++ b/tests/Behat/Resources/suites/ui/managing_frequently_asked_questions.yml @@ -1,7 +1,7 @@ default: suites: ui_managing_frequently_asked_questions: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/managing_media.yml b/tests/Behat/Resources/suites/ui/managing_media.yml index d9fd3ac7d..2006f112c 100755 --- a/tests/Behat/Resources/suites/ui/managing_media.yml +++ b/tests/Behat/Resources/suites/ui/managing_media.yml @@ -1,7 +1,7 @@ default: suites: ui_managing_media: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/managing_pages.yml b/tests/Behat/Resources/suites/ui/managing_pages.yml index c35058fb2..9e0d9b274 100755 --- a/tests/Behat/Resources/suites/ui/managing_pages.yml +++ b/tests/Behat/Resources/suites/ui/managing_pages.yml @@ -1,7 +1,7 @@ default: suites: ui_managing_pages: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/managing_sections.yml b/tests/Behat/Resources/suites/ui/managing_sections.yml index 4cb670c05..56fd29f01 100755 --- a/tests/Behat/Resources/suites/ui/managing_sections.yml +++ b/tests/Behat/Resources/suites/ui/managing_sections.yml @@ -1,7 +1,7 @@ default: suites: ui_managing_sections: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/shop_blocks.yml b/tests/Behat/Resources/suites/ui/shop_blocks.yml index 33f3fe28b..868ce9f80 100755 --- a/tests/Behat/Resources/suites/ui/shop_blocks.yml +++ b/tests/Behat/Resources/suites/ui/shop_blocks.yml @@ -1,7 +1,7 @@ default: suites: ui_shop_blocks: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/shop_frequently_asked_questions.yml b/tests/Behat/Resources/suites/ui/shop_frequently_asked_questions.yml index cd794e54f..4e861c9e9 100755 --- a/tests/Behat/Resources/suites/ui/shop_frequently_asked_questions.yml +++ b/tests/Behat/Resources/suites/ui/shop_frequently_asked_questions.yml @@ -1,7 +1,7 @@ default: suites: ui_shop_frequently_asked_questions: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel diff --git a/tests/Behat/Resources/suites/ui/shop_pages.yml b/tests/Behat/Resources/suites/ui/shop_pages.yml index ace370f38..b2d0c25e9 100755 --- a/tests/Behat/Resources/suites/ui/shop_pages.yml +++ b/tests/Behat/Resources/suites/ui/shop_pages.yml @@ -1,7 +1,7 @@ default: suites: ui_shop_pages: - contexts_services: + contexts: - sylius.behat.context.hook.doctrine_orm - sylius.behat.context.setup.channel