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

Sulu Behat Bundle Laravel Package

elbformat/sulu-behat-bundle

Adds Behat contexts and helpers for easily setting up tests in Sulu applications, built on symfony-behat-bundle. Configure website or admin context per profile, tag features into suites, and use ready-made contexts for pages, snippets, media, dates, and more.

View on GitHub
Deep Wiki
Context7

sulu-behat-bundle

Adds Contexts and Helper to easily set-up behat tests in your sulu application. It makes use of the symfony-behat-bundle.

Installation

  1. Add the bundle via composer
composer require elbformat/sulu-behat-bundle
  1. Activate bundles in config/bundles.php
Elbformat\SymfonyBehatBundle\ElbformatSymfonyBehatBundle::class => ['test' => true],
Elbformat\SuluBehatBundle\ElbformatSuluBehatBundle::class => ['test' => true],
  1. 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.

What's next?

Possible enhancements for the next release could be

  • SuluCommunityContext for SuluCommunityBundle
  • More examples with more content-types
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.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel