Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Ibexa Behat Bundle

Ibexa Behat Bundle Laravel Package

elbformat/ibexa-behat-bundle

A Behat bundle for Ibexa offering a fast, Symfony Kernel-based testing approach with partial database resets, strict behavioral wording, and support for page builder blocks.

View on GitHub
Deep Wiki
Context7

Helpers to run behat test in ibexa.

Frequently asked questions about Ibexa Behat Bundle
How do I install elbformat/ibexa-behat-bundle in an Ibexa DXP project?
Run composer require elbformat/ibexa-behat-bundle, then register ElbformatSymfonyBehatBundle and ElbformatIbexaBehatBundle in config/bundles.php with ['test' => true]. Add the contexts you need to behat.yml and decorate the Ibexa Core IO FilePathNormalizer Flysystem service with TestFilePathNormalizer in config/services_behat.yaml. The bundle is test-scoped only, so it should not affect production runtime.
Which Ibexa, PHP, Symfony, and Behat versions does this bundle support?
Release notes indicate v2.x targets Ibexa 4.6, and older Ibexa lines require v1.1.x. There is no published support matrix for PHP, Symfony, Behat, or database engines. Confirm the exact combinations with the maintainer before standardizing on it.
How is elbformat/ibexa-behat-bundle different from the official ibexa/behat bundle?
It is not a drop-in replacement; the execution model is different. It drives the Symfony Kernel directly for most operations instead of going through HTTP, and it partially resets the database instead of reloading it. It also uses stricter behavioral wording and adds support for creating page builder blocks.
How do I initialize a test database and run the Behat suite?
Configure a dedicated test database in .env.test so you do not accidentally delete real content. Initialize it once with bin/console -e test do:da:cr, do:mi:mi, ib:mi:mi, and ibexa:reindex. Then run vendor/bin/behat.
Why do I need TestFilePathNormalizer for uploaded image tests?
Ibexa normally appends a random hash to uploaded image filenames, which makes assertions unpredictable. Decorating the Ibexa Core IO FilePathNormalizer Flysystem service with Elbformat IbexaBehatBundle IO TestFilePathNormalizer skips that hash in the test environment. Add the decoration to config/services_behat.yaml so image URLs and filenames are deterministic.
What does BEHAT_CONTENT_MIN_ID control and when should I change it?
It sets the minimum content ID used by the partial database reset, so content below that threshold is preserved. If your project has fixed content or location IDs above 1000, raise the value to avoid deleting fixtures. Only run it against a dedicated test database, because a misconfiguration can remove content.
Can I run elbformat/ibexa-behat-bundle suites in parallel CI?
The documentation does not define a parallel execution model. The partial-reset approach assumes test isolation, so multiple suites sharing one database can interfere with each other. Ask the maintainer for the recommended isolation model, or give each CI job its own database.
Is Solr required to use this Behat bundle?
Solr is only mandatory for scenarios that use SolrContext, which needs an external Solr service. The documented bootstrap also runs ibexa:reindex, so most CI setups provision Solr for parity with the application. You can skip Solr only if your suites avoid search-dependent contexts and assertions.
How do I test page builder blocks with this bundle?
LandingpageContext is included for page builder block scenarios, and the README lists it among the standard contexts. Add it to behat.yml and write Gherkin steps that create and assert block structures. Keep block schemas and fixture formats under version control because Ibexa upgrades can change them.
Is elbformat/ibexa-behat-bundle actively maintained and production-safe?
Treat it as a single-vendor utility: it has no stars or dependents, no published governance, and v1.0.0 shipped without tests, though v2.2.3 added PHPStan and CS-fixer checks. The recorded last release date is 2026-09-21, which is in the future and should not be used as proof of active maintenance. It is test-scoped only, but partial resets are destructive, so never point it at production.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route