Weave Code
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

Sylius Behat Pack Laravel Package

setono/sylius-behat-pack

Dev pack for running Behat tests in Sylius apps and plugins. Pulls in common Behat/Mink tooling and documents a JS-enabled setup using Chromedriver, Selenium, and the Symfony CLI web server for test environments.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Accelerating QA for Sylius-Based Laravel Apps: Enables rapid implementation of end-to-end behavioral testing for Sylius plugins or apps, reducing manual QA effort and improving release velocity. Critical for teams building custom Sylius integrations (e.g., payment gateways, shipping modules) where validation of complex workflows (checkout, inventory, orders) is essential.
  • Plugin Development Roadmap: Directly supports Sylius plugin monetization by providing a standardized way to validate plugin functionality across environments. Example: A team building a Sylius multi-warehouse plugin could automate 100+ test scenarios overnight instead of weeks of manual testing.
  • Build vs. Buy Decision: Avoids reinventing the wheel for Behat/Sylius test infrastructure, saving engineering time on dependency management, environment setup, and context creation. The package’s MIT license and open-source nature reduce legal/licensing risks.
  • Use Cases:
    • Sylius Core/Plugin Validation: Automate testing of Sylius-specific features (e.g., product variants, promotions, tax calculations) in a Laravel context.
    • CI/CD Pipeline Integration: Enable automated regression testing for Sylius plugins in GitHub Actions, GitLab CI, or Jenkins, reducing post-release bugs.
    • Developer Onboarding: Provide a consistent test environment for new contributors, reducing ramp-up time for Sylius plugin development.
    • Stakeholder Collaboration: Use Gherkin syntax to align business and technical teams on feature expectations (e.g., "As a customer, I want to apply a discount code during checkout").
    • Local Development: Simplify local testing of Sylius plugins by eliminating manual setup of Behat, Chromedriver, and Selenium.

When to Consider This Package

Adopt If:

  • Your Laravel app extends or integrates with Sylius (e.g., custom e-commerce features, Sylius plugins, or Sylius-based microservices).
  • You need behavioral/acceptance testing for Sylius-specific workflows (e.g., checkout flows, product catalogs, order management) and are already using Behat or willing to adopt it.
  • Your team is building or maintaining Sylius plugins and requires automated validation of plugin functionality before integration.
  • You’re using Symfony 5/6 (confirmed compatibility in v0.2.2) and can tolerate Sylius-specific dependencies.
  • Your QA process lacks automated end-to-end testing or relies heavily on manual validation, slowing down releases.
  • You have resources to maintain a Behat/Selenium stack (e.g., CI infrastructure, developer time for setup).

Look Elsewhere If:

  • Your Laravel app is not Sylius-related: The package is Sylius-centric and may introduce unnecessary complexity or conflicts with Laravel’s native testing tools (e.g., Pest, Dusk).
  • You prefer unit/integration testing over BDD: If your team relies on PestPHP, PHPUnit, or Laravel TestCase, the overhead of Behat/Gherkin may not justify the benefits.
  • You need modern JavaScript testing: Tools like Playwright, Cypress, or Laravel Dusk offer more reliable and faster JS testing than Selenium 3.4 (used by this package).
  • Your CI/CD environment cannot reliably run Selenium/Chromedriver (e.g., lack of Docker, resource constraints, or flaky test execution).
  • You require active maintenance: The package has no recent updates (last release: 2021) and no dependents, indicating low community support.
  • You’re using Sylius 2.x/3.x: The package is optimized for Sylius 1.x and may require significant adaptation for newer versions.

How to Pitch It (Stakeholders)

Executives:

"This package is a game-changer for accelerating our Sylius plugin development and reducing post-release bugs. For example, if we’re building a custom subscription management plugin for Sylius, we could automate 200+ test scenarios overnight instead of weeks of manual QA. This directly supports our goal of [specific business objective, e.g., scaling our e-commerce platform, reducing support costs, or increasing plugin revenue]. The package cuts months of engineering time by providing a turnkey Behat testing solution, aligning with our roadmap to ship faster while maintaining quality. The tradeoff is minimal—we’d need to invest in CI infrastructure for Selenium, but the ROI in fewer bugs and faster releases is clear."

Engineering (Developers/Tech Leads):

*"The sylius-behat-pack eliminates the pain of manually configuring Behat for Sylius in Laravel. With a single composer require, you get:

  • Pre-built dependencies for Behat, Mink, and Selenium—no more hunting for the right versions.
  • Sylius-specific Behat contexts to test checkout flows, product variants, and order management without rewriting fixtures.
  • JS-enabled testing (via Chromedriver/Selenium) for validating UI interactions, though we’ll need to containerize this for CI. Tradeoffs:
  • It’s Sylius-specific, so if we’re not using Sylius, this is overkill.
  • Selenium 3.4 is outdated; we’ll need to upgrade or replace it with a modern solution (e.g., Playwright) long-term.
  • Local setup is manual (Chromedriver, Selenium, Symfony CLI), but we can Dockerize this for consistency. Recommendation: Use this for Sylius plugin development where Behat adds value, but avoid for pure Laravel apps. For non-Sylius projects, Laravel Dusk or Pest would be lighter-weight alternatives."*

QA/Testing Teams:

*"This package standardizes our Sylius testing process and reduces the time we spend on manual validation. Key benefits:

  • Automate Sylius-specific workflows (e.g., promotions, tax rules, inventory) with Gherkin scenarios that non-technical stakeholders can review.
  • Integrate seamlessly with our CI pipeline to catch regressions early (e.g., after a Sylius core update).
  • Reduce onboarding time for new testers by providing a pre-configured environment. Challenges:
  • Selenium flakiness in CI—we’ll need to optimize test parallelization and possibly switch to Playwright later.
  • Behat’s verbosity may slow down test execution compared to unit tests. Verdict: Worth adopting if we’re heavily invested in Sylius and Behat, but we should monitor alternatives like Laravel Dusk for JS testing."*
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.
babenkoivan/elastic-client
innmind/static-analysis
innmind/coding-standard
datacore/hub-sdk
alengo/sulu-http-cache-bundle
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
imbo/imbo-coding-standard
visualbuilder/filament-lottie
servicioslineaonce/starter-kit
atomcoder/laravel-reorderable
irajul/filament-shadcn-theme
agtp/agtp-php
agtp/mod-php
centraldesktop/protobuf-php