[Behat] Reorder Alphabetically UI & API Suite Configs#17782
[Behat] Reorder Alphabetically UI & API Suite Configs#17782GSadee merged 2 commits intoSylius:2.0from
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
❌ Preview Environment deleted from BunnyshellAvailable commands:
|
d2f459b to
ee2a939
Compare
…nfiguration management (#17783) | Q | A |-----------------|----- | Branch? | 2.0 <!-- see the comment below --> | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no <!-- don't forget to update the UPGRADE-*.md file --> | License | MIT Continuation of #17782 This proposal is motivated by the issue in Behat when suite configuration includes contexts that define the same method. In brief, this decoupling provides more flexibility in managing suite configurations.
…en I add` (#17785) | Q | A |-----------------|----- | Branch? | 2.0 <!-- see the comment below --> | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no <!-- don't forget to update the UPGRADE-*.md file --> | License | MIT Continuation of: - #17782 - #17783 Until now, the checkout-related scenarios have been set up as follows: • UI – via web actions (e.g. `Given I have a product ...` actually triggered browser actions to prepare the initial step), • API – a mix of messenger commands and API calls. During the development of Sylius 2.0, with the introduction of dynamic components, all scenarios involving product-related actions had to be marked as JS to work correctly. This significantly increased build time and reduced overall stability. This PR focuses on decoupling the Behat architecture to unify the test setup for both UI and API. The goal is to eliminate most JS tags, which should lead to greater stability. Some performance improvements are already noticeable. This PR doesn’t yet include all refactored scenarios, but at this stage we already observe the following performance gains: • For non-JS scenarios, the timing is likely similar — some JS scenarios have been converted to non-JS, but at the same time, we benefit from faster setup thanks to the refactor (using messenger commands instead of API calls or UI interactions to prepare tests). • For JS scenarios executed via Chromedriver, the same applies — some Panther scenarios have been switched to Chromedriver, and performance remains comparable. JS with Panther: **~30 min → ~20 min**
| - sylius.behat.context.setup.taxonomy | ||
| - sylius.behat.context.setup.user | ||
| - sylius.behat.context.setup.zone | ||
|
|
…en I add` - Promotion & Some other scenarios (#17818) | Q | A |-----------------|----- | Branch? | 2.0 <!-- see the comment below --> | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no <!-- don't forget to update the UPGRADE-*.md file --> | License | MIT Continuation of: - #17785 - #17782 - #17783 Until now, the checkout-related scenarios have been set up as follows: • UI – via web actions (e.g. `Given I have a product ...` actually triggered browser actions to prepare the initial step), • API – a mix of messenger commands and API calls. During the development of Sylius 2.0, with the introduction of dynamic components, all scenarios involving product-related actions had to be marked as JS to work correctly. This significantly increased build time and reduced overall stability. This PR focuses on decoupling the Behat architecture to unify the test setup for both UI and API. The goal is to eliminate most JS tags, which should lead to greater stability. Some performance improvements are already noticeable. This PR doesn’t yet include all refactored scenarios, but at this stage we already observe the following performance gains: • For non-JS scenarios, the timing is likely similar — some JS scenarios have been converted to non-JS, but at the same time, we benefit from faster setup thanks to the refactor (using messenger commands instead of API calls or UI interactions to prepare tests). • For JS scenarios executed via Chromedriver, the same applies — some Panther scenarios have been switched to Chromedriver, and performance remains comparable. JS with Panther: **~30 min → ~20 min**
…` and related scenarios) (#17816) | Q | A |-----------------|----- | Branch? | 2.0 <!-- see the comment below --> | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no <!-- don't forget to update the UPGRADE-*.md file --> | License | MIT Continuation of: - #17785 - #17782 - #17783 Until now, the checkout-related scenarios have been set up as follows: • UI – via web actions (e.g. `Given I have a product ...` actually triggered browser actions to prepare the initial step), • API – a mix of messenger commands and API calls. During the development of Sylius 2.0, with the introduction of dynamic components, all scenarios involving product-related actions had to be marked as JS to work correctly. This significantly increased build time and reduced overall stability. This PR focuses on decoupling the Behat architecture to unify the test setup for both UI and API. The goal is to eliminate most JS tags, which should lead to greater stability. Some performance improvements are already noticeable. This PR doesn’t yet include all refactored scenarios, but at this stage we already observe the following performance gains: • For non-JS scenarios, the timing is likely similar — some JS scenarios have been converted to non-JS, but at the same time, we benefit from faster setup thanks to the refactor (using messenger commands instead of API calls or UI interactions to prepare tests). • For JS scenarios executed via Chromedriver, the same applies — some Panther scenarios have been switched to Chromedriver, and performance remains comparable. JS with Panther: **~30 min → ~20 min**
I propose this enhancement for consistency and future readability of changes within these config files.