elbformat / sulu-behat-bundle
Context and Helpers to integrate behat tests in your sulu application
Installs: 1 538
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 11
Type:symfony-bundle
Requires
- php: >=8.1
- ext-dom: *
- ext-json: *
- behat/behat: ^3.8
- elbformat/symfony-behat-bundle: ^1.5
- friends-of-behat/symfony-extension: ^2.2
- sulu/sulu: ^2.4
- symfony/event-dispatcher: 5.4.*
Requires (Dev)
- dvdoug/behat-code-coverage: ^5.2
- friendsofphp/php-cs-fixer: ^3.3
- handcraftedinthealps/elasticsearch-bundle: 5.2.6.9
- jackalope/jackalope: ^1.4
- jackalope/jackalope-doctrine-dbal: ^1.7
- phpunit/phpunit: ^9.5
- sulu/article-bundle: ^2.3
- sulu/sulu-form-bundle: ^2.4
- symfony/mailer: 5.4.*
- symfony/monolog-bridge: 5.4.*
- symfony/monolog-bundle: ^3.8
- symfony/runtime: 5.4.*
- vimeo/psalm: ^4.13
- dev-main
- v1.1.0
- v1.0.1
- v1.0.0
- dev-renovate/docker-build-push-action-digest
- dev-renovate/docker.elastic.co-elasticsearch-elasticsearch-8.x
- dev-renovate/docker.elastic.co-elasticsearch-elasticsearch-7.x
- dev-renovate/major-symfony
- dev-renovate/mariadb-11.x
- dev-renovate/docker-login-action-digest
- dev-renovate/codecov-3.x
- dev-v1.1-sf6
- dev-v1.1-sf6.2
- dev-renovate/vimeo-psalm-5.x
- dev-renovate/mariadb-10.x
- dev-renovate/hgiesenow-php-8.x
- dev-fix_non_existent_references
- dev-remove-final
- dev-bundle-setup
This package is auto-updated.
Last update: 2024-12-21 11:53:14 UTC
README
Adds Contexts and Helper to easily set-up behat tests in your sulu application. It makes use of the symfony-behat-bundle.
Installation
- Add the bundle via composer
composer require elbformat/sulu-behat-bundle
- Activate bundles in
config/bundles.php
Elbformat\SymfonyBehatBundle\ElbformatSymfonyBehatBundle::class => ['test' => true], Elbformat\SuluBehatBundle\ElbformatSuluBehatBundle::class => ['test' => true],
- Configure behat Extensions
Add the extension to your behat.yml
. With the context
parameter you can decide if the sulu kernel for this profile is
running in website
or admin
(default) context. It's recommended to use tags to sort features into suites.
Also make sure the symfony extension is enabled and configured.
NOTE: The FriendsOfBehat\SymfonyExtension
must be placed before the SuluExtension
.
You can then add Contexts as you like/need.
default: suites: default: filters: tags: '~@admin' contexts: - Elbformat\SymfonyBehatBundle\Context\CommandContext: - Elbformat\SymfonyBehatBundle\Context\LoggingContext: - Elbformat\SuluBehatBundle\Context\BrowserContext: - Elbformat\SuluBehatBundle\Context\DateContext: - Elbformat\SuluBehatBundle\Context\SuluPageContext: - Elbformat\SuluBehatBundle\Context\SuluSnippetContext: - Elbformat\SuluBehatBundle\Context\SuluMediaContext: # Only enable, when you have the according bundle installed #- Elbformat\SuluBehatBundle\Context\SuluArticleContext: #- Elbformat\SuluBehatBundle\Context\SuluFormContext: extensions: FriendsOfBehat\SymfonyExtension: ~ Elbformat\SuluBehatBundle\SuluExtension: context: website admin: suites: default: filters: tags: '@admin' extensions: FriendsOfBehat\SymfonyExtension: bootstrap: 'tests/bootstrap.php' Elbformat\SuluBehatBundle\SuluExtension: context: admin
Run tests
Make sure you have a database configured for the test environment.
It's recommended to have an extra database configured for tests in .env.test
, to not accidentally delete real contents.
After configuration you should initialise it once, before running any test against it.
bin/console -e test sulu:build prod
You can then run the tests in default oder admin profile.
vendor/bin/behat vendor/bin/behat --profile admin
Examples
First you should take a look at the symfony examples. More sulu specific examples can be found in features/ folder.
Recommended bundles
There are contexts, that can ony be enabled when the according bundles are installed.
- SuluArticleContext requires SuluArticleBundle
- SuluFormContext requires SuluFormBundle
What's next?
Possible enhancements for the next release could be
- SuluCommunityContext for SuluCommunityBundle
- More examples with more content-types