Skip to content

Latest commit

 

History

History
52 lines (43 loc) · 1.99 KB

README.md

File metadata and controls

52 lines (43 loc) · 1.99 KB

ibexa-behat-bundle

Although there already is an official behat bundle for ibexa, this bundle has a completely different approach. It is optimized for faster execution by using the Symfony Kernel directly and only partially reset the database. Also, it has more strict wordings in a behavioural manner. Last but not least it also supports creating page builder blocks.

Installation

  1. Add the bundle via composer
composer require elbformat/ibexa-behat-bundle
  1. Activate bundles in config/bundles.php
Elbformat\SymfonyBehatBundle\ElbformatSymfonyBehatBundle::class => ['test' => true],
Elbformat\IbexaBehatBundle\ElbformatIbexaBehatBundle::class => ['test' => true],
  1. Configure behat.yml See the symfony-behat-bundle installation instructions.

  2. Use TestFilePathNormalizer In order to test uploaded images, you need a predictable filename. This can be achieved by skipping the random hash at the end, when running test. Just put the following line in your config/services_behat.yaml to

services:
  # Prevent random character in image urls for tests
  eZ\Publish\Core\IO\FilePathNormalizer\Flysystem: '@Elbformat\IbexaBehatBundle\IO\TestFilePathNormalizer'

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 do:da:cr
bin/console -e test do:mi:mi -n
bin/console -e test ib:mi:mi -n
bin/console -e test ibexa:reindex

Then you can simply run the tests.

vendor/bin/behat

Tweaks

When you have internal, fixed content/location ids > 1000 you may want to change the minimum id for resetting the database. To do this, you can simply add an enviromment variable BEHAT_CONTENT_MIN_ID=10000 to .env.behat