Skip to content

[Behat] Update Setup, Transform and UI contexts config from xml to php#18857

Merged
TheMilek merged 3 commits intoSylius:2.3from
NoResponseMate:behat/update-services-definition-to-php-setup-transform-ui-contexts
Feb 23, 2026
Merged

[Behat] Update Setup, Transform and UI contexts config from xml to php#18857
TheMilek merged 3 commits intoSylius:2.3from
NoResponseMate:behat/update-services-definition-to-php-setup-transform-ui-contexts

Conversation

@NoResponseMate
Copy link
Copy Markdown
Contributor

@NoResponseMate NoResponseMate commented Feb 20, 2026

Q A
Branch? 2.3
Bug fix? no
New feature? no
BC breaks? no
Deprecations? no
Related tickets partially #18822
License MIT

Summary by CodeRabbit

  • Chores
    • Refactored internal Behat test configuration from XML to PHP format. No functional changes or user-facing impact.

@NoResponseMate NoResponseMate requested review from a team as code owners February 20, 2026 15:33
@NoResponseMate NoResponseMate added Behat Issues and PRs aimed at improving Behat usage. Maintenance CI configurations, READMEs, releases, etc. labels Feb 20, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 20, 2026

❌ Preview Environment deleted from Bunnyshell

Available commands:

  • 🚀 /bns:deploy to redeploy the environment

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 20, 2026

📝 Walkthrough

Walkthrough

This PR migrates Sylius Behat context service configurations from XML to PHP format. The setup, transform, and UI context definitions are converted to PHP using Symfony's DependencyInjection configurator pattern, maintaining equivalent service registrations and dependency wiring throughout.

Changes

Cohort / File(s) Summary
Main Configuration Import
src/Sylius/Behat/Resources/config/services/contexts.xml
Updated resource imports to reference PHP files instead of XML: contexts/setup.php, contexts/transform.php, and contexts/ui.php.
Setup Context Migration
src/Sylius/Behat/Resources/config/services/contexts/setup.php, setup.xml
Converted setup context service definitions from XML to PHP. Registers 35\+ setup context services with full dependency injection wiring for address, admin user, cart, checkout, channel, customer, order, product, payment, promotion, shipping, and other contexts.
Transform Context Migration
src/Sylius/Behat/Resources/config/services/contexts/transform.php, transform.xml
Converted transform context service definitions from XML to PHP. Registers 30\+ transform contexts including address, channel, product, order, currency, and other converters with repository and factory dependencies.
UI Context Migration
src/Sylius/Behat/Resources/config/services/contexts/ui.php, ui.xml, ui/admin.php, ui/common.php, ui/shop.php
Split UI context services across multiple PHP files: admin contexts (40\+ services), common contexts (7 services), and shop contexts (15\+ services). Removed monolithic XML file in favor of modular PHP configuration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

Suggested reviewers

  • TheMilek

Poem

🐰 XML tags once ruled this domain,
Now PHP configs break the chain,
Services wired in PHP's way,
Behat contexts dance and play,
Configuration migration—hoorah! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: updating Behat contexts configuration from XML to PHP format for Setup, Transform, and UI contexts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (7)
src/Sylius/Behat/Resources/config/services/contexts/ui/common.php (1)

14-22: use imports are not sorted alphabetically.

EmailContext (line 19) and SaveContext (line 20) should be placed before ThemeContext (line 17) to maintain alphabetical order. As per coding guidelines: "Sort PHP use imports alphabetically and group by type".

Suggested order
 use Sylius\Behat\Context\Ui\BrowserContext;
 use Sylius\Behat\Context\Ui\ChannelContext;
 use Sylius\Behat\Context\Ui\CustomerContext;
+use Sylius\Behat\Context\Ui\EmailContext;
+use Sylius\Behat\Context\Ui\SaveContext;
 use Sylius\Behat\Context\Ui\ThemeContext;
 use Sylius\Behat\Context\Ui\UserContext;
-use Sylius\Behat\Context\Ui\EmailContext;
-use Sylius\Behat\Context\Ui\SaveContext;
 use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
 use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/common.php` around
lines 14 - 22, Reorder the PHP use imports in this file to be alphabetically
sorted and grouped by type; specifically move
Sylius\Behat\Context\Ui\EmailContext and Sylius\Behat\Context\Ui\SaveContext so
they appear before Sylius\Behat\Context\Ui\ThemeContext, ensuring all other use
statements remain in the same grouping and alphabetical order (e.g.,
BrowserContext, ChannelContext, CustomerContext, EmailContext, SaveContext,
ThemeContext, UserContext).
src/Sylius/Behat/Resources/config/services/contexts/setup.php (2)

114-114: Inline FQCNs used to avoid naming collisions — consider using aliases instead.

Lines 114, 242, and 401 use inline \Sylius\Behat\Context\Setup\Checkout\AddressContext::class, \Sylius\Behat\Context\Setup\PaymentContext::class, and \Sylius\Behat\Context\Setup\ShippingContext::class respectively, because the short class names collide with already-imported Checkout\PaymentContext, Checkout\ShippingContext, and Setup\AddressContext. Using import aliases (e.g., use ... as SetupPaymentContext) would improve readability and consistency.

Example alias approach
-use Sylius\Behat\Context\Setup\Checkout\ShippingContext;
-use Sylius\Behat\Context\Setup\Checkout\PaymentContext;
+use Sylius\Behat\Context\Setup\Checkout\AddressContext as CheckoutAddressContext;
+use Sylius\Behat\Context\Setup\Checkout\PaymentContext as CheckoutPaymentContext;
+use Sylius\Behat\Context\Setup\Checkout\ShippingContext as CheckoutShippingContext;
+use Sylius\Behat\Context\Setup\PaymentContext;
+use Sylius\Behat\Context\Setup\ShippingContext;

Then replace inline FQCNs:

-        ->set('sylius.behat.context.setup.checkout.address', \Sylius\Behat\Context\Setup\Checkout\AddressContext::class)
+        ->set('sylius.behat.context.setup.checkout.address', CheckoutAddressContext::class)
-        ->set('sylius.behat.context.setup.payment', \Sylius\Behat\Context\Setup\PaymentContext::class)
+        ->set('sylius.behat.context.setup.payment', PaymentContext::class)
-        ->set('sylius.behat.context.setup.shipping', \Sylius\Behat\Context\Setup\ShippingContext::class)
+        ->set('sylius.behat.context.setup.shipping', ShippingContext::class)

Also applies to: 242-242, 401-401

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/setup.php` at line 114,
Replace the inline fully-qualified class names with aliased imports to avoid
name collisions and improve readability: add use statements with aliases like
"use Sylius\Behat\Context\Setup\PaymentContext as SetupPaymentContext", "use
Sylius\Behat\Context\Setup\ShippingContext as SetupShippingContext", and "use
Sylius\Behat\Context\Setup\Checkout\AddressContext as
SetupCheckoutAddressContext" at the top of the file, then update the service
registrations that currently reference
\Sylius\Behat\Context\Setup\Checkout\AddressContext::class,
\Sylius\Behat\Context\Setup\PaymentContext::class, and
\Sylius\Behat\Context\Setup\ShippingContext::class to use the new aliased class
names (SetupCheckoutAddressContext, SetupPaymentContext, SetupShippingContext).

14-50: use imports are not sorted alphabetically and mix namespaces.

Several issues:

  1. ChannelContext (line 21) should come before CheckoutContext (line 18) and Checkout\* sub-namespace imports.
  2. Checkout\PaymentContext (line 20) should come before Checkout\ShippingContext (line 19).
  3. AdminSecurityContext (line 38) should come near the top of Setup\* imports.
  4. CatalogPromotionContext (line 47) and PaymentRequestContext (line 48) are appended at the end.
  5. Non-Behat imports (RandomnessGeneratorInterface line 29, TestThemeConfigurationManagerInterface line 44) are interleaved with Behat\Context\Setup\* imports instead of being grouped separately.

As per coding guidelines: "Sort PHP use imports alphabetically and group by type (classes, functions, constants)".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/setup.php` around lines
14 - 50, Reorder the PHP use imports in this file to follow the project's
guideline: group and alphabetize imports by type (class imports together, then
functions/constants); within the Sylius\Behat\Context\Setup\* group, place
ChannelContext before CheckoutContext and its subnamespaces, ensure
Checkout\PaymentContext comes before Checkout\ShippingContext, move
AdminSecurityContext up with the other Setup contexts, and insert
CatalogPromotionContext and PaymentRequestContext in their alphabetical
positions; also pull non-Behat imports (RandomnessGeneratorInterface,
TestThemeConfigurationManagerInterface) out of the Behat Setup group into their
own sorted group, and keep the service function import (service) in the
functions group.
src/Sylius/Behat/Resources/config/services/contexts/transform.php (1)

14-52: use imports are not sorted alphabetically.

AdminUserContext, CartContext, ShopUserContext, ZoneContext, and ZoneMemberContext (lines 46–50) are appended at the end instead of being placed in their correct alphabetical positions. The same applies to ProductAssociationTypeContext (line 29) and ProductOptionValueContext (line 32) which should come after ProductContext.

As per coding guidelines: "Sort PHP use imports alphabetically and group by type (classes, functions, constants)".

Suggested sorted order
-use Sylius\Behat\Context\Transform\AddressContext;
-use Sylius\Behat\Context\Transform\CatalogPromotionContext;
-use Sylius\Behat\Context\Transform\ChannelContext;
-use Sylius\Behat\Context\Transform\CountryContext;
-use Sylius\Behat\Context\Transform\CouponContext;
-use Sylius\Behat\Context\Transform\CurrencyContext;
-use Sylius\Behat\Context\Transform\CustomerContext;
-use Sylius\Behat\Context\Transform\CustomerGroupContext;
-use Sylius\Behat\Context\Transform\DateTimeContext;
-use Sylius\Behat\Context\Transform\ExchangeRateContext;
-use Sylius\Behat\Context\Transform\LexicalContext;
-use Sylius\Behat\Context\Transform\LocaleContext;
-use Sylius\Behat\Context\Transform\OrderContext;
-use Sylius\Behat\Context\Transform\PaymentMethodContext;
-use Sylius\Behat\Context\Transform\ProductContext;
-use Sylius\Behat\Context\Transform\ProductAssociationTypeContext;
-use Sylius\Behat\Context\Transform\ProductAttributeContext;
-use Sylius\Behat\Context\Transform\ProductOptionContext;
-use Sylius\Behat\Context\Transform\ProductOptionValueContext;
-use Sylius\Behat\Context\Transform\ProductReviewContext;
-use Sylius\Behat\Context\Transform\ProductVariantContext;
-use Sylius\Behat\Context\Transform\PromotionContext;
-use Sylius\Behat\Context\Transform\ProvinceContext;
-use Sylius\Behat\Context\Transform\SharedStorageContext;
-use Sylius\Behat\Context\Transform\ShippingCalculatorContext;
-use Sylius\Behat\Context\Transform\ShippingCategoryContext;
-use Sylius\Behat\Context\Transform\ShippingMethodContext;
-use Sylius\Behat\Context\Transform\TaxCategoryContext;
-use Sylius\Behat\Context\Transform\TaxRateContext;
-use Sylius\Behat\Context\Transform\TaxonContext;
-use Sylius\Behat\Context\Transform\ThemeContext;
-use Sylius\Behat\Context\Transform\UserContext;
-use Sylius\Behat\Context\Transform\AdminUserContext;
-use Sylius\Behat\Context\Transform\CartContext;
-use Sylius\Behat\Context\Transform\ZoneContext;
-use Sylius\Behat\Context\Transform\ZoneMemberContext;
-use Sylius\Behat\Context\Transform\ShopUserContext;
-use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
-use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
+use Sylius\Behat\Context\Transform\AddressContext;
+use Sylius\Behat\Context\Transform\AdminUserContext;
+use Sylius\Behat\Context\Transform\CartContext;
+use Sylius\Behat\Context\Transform\CatalogPromotionContext;
+use Sylius\Behat\Context\Transform\ChannelContext;
+use Sylius\Behat\Context\Transform\CountryContext;
+use Sylius\Behat\Context\Transform\CouponContext;
+use Sylius\Behat\Context\Transform\CurrencyContext;
+use Sylius\Behat\Context\Transform\CustomerContext;
+use Sylius\Behat\Context\Transform\CustomerGroupContext;
+use Sylius\Behat\Context\Transform\DateTimeContext;
+use Sylius\Behat\Context\Transform\ExchangeRateContext;
+use Sylius\Behat\Context\Transform\LexicalContext;
+use Sylius\Behat\Context\Transform\LocaleContext;
+use Sylius\Behat\Context\Transform\OrderContext;
+use Sylius\Behat\Context\Transform\PaymentMethodContext;
+use Sylius\Behat\Context\Transform\ProductAssociationTypeContext;
+use Sylius\Behat\Context\Transform\ProductAttributeContext;
+use Sylius\Behat\Context\Transform\ProductContext;
+use Sylius\Behat\Context\Transform\ProductOptionContext;
+use Sylius\Behat\Context\Transform\ProductOptionValueContext;
+use Sylius\Behat\Context\Transform\ProductReviewContext;
+use Sylius\Behat\Context\Transform\ProductVariantContext;
+use Sylius\Behat\Context\Transform\PromotionContext;
+use Sylius\Behat\Context\Transform\ProvinceContext;
+use Sylius\Behat\Context\Transform\SharedStorageContext;
+use Sylius\Behat\Context\Transform\ShippingCalculatorContext;
+use Sylius\Behat\Context\Transform\ShippingCategoryContext;
+use Sylius\Behat\Context\Transform\ShippingMethodContext;
+use Sylius\Behat\Context\Transform\ShopUserContext;
+use Sylius\Behat\Context\Transform\TaxCategoryContext;
+use Sylius\Behat\Context\Transform\TaxRateContext;
+use Sylius\Behat\Context\Transform\TaxonContext;
+use Sylius\Behat\Context\Transform\ThemeContext;
+use Sylius\Behat\Context\Transform\UserContext;
+use Sylius\Behat\Context\Transform\ZoneContext;
+use Sylius\Behat\Context\Transform\ZoneMemberContext;
+use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
+use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/transform.php` around
lines 14 - 52, The PHP "use" imports in transform.php are not sorted
alphabetically; reorder the class imports so they are alphabetized (e.g., move
ProductAssociationTypeContext after ProductContext, ProductOptionValueContext
after ProductOptionContext, and place AdminUserContext, CartContext,
ShopUserContext, ZoneContext, ZoneMemberContext into their correct alphabetical
positions among the other Sylius\Behat\Context\Transform\* imports) while
keeping the function import (service) separate and after the class imports;
ensure grouping (classes first, then functions/constants) and consistent
ordering for all listed classes (AddressContext, CatalogPromotionContext,
ChannelContext, ..., ZoneMemberContext).
src/Sylius/Behat/Resources/config/services/contexts/ui/shop.php (1)

14-43: use imports are not sorted alphabetically; non-Context imports are interleaved.

Same issue as in other files — imports are roughly grouped by functional area rather than sorted alphabetically. Element/Service interface imports (lines 29–31, 36) are interleaved with Context class imports. As per coding guidelines: "Sort PHP use imports alphabetically and group by type".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/shop.php` around lines
14 - 43, The use imports in this file are not alphabetized and mix Context
classes with Element/Service interfaces; reorder the use statements so they are
alphabetically sorted and grouped by type (Contexts first, then Elements, then
Services/interfaces), for example ensure ErrorPageContext, LocaleContext,
LoginContext, CheckoutContext, etc. appear in alphabetical order within the
Context group and interfaces like CheckoutSubtotalElementInterface,
CartWidgetElementInterface, LowestPriceInformationElementInterface,
SessionManagerInterface are grouped and alphabetized in their own block; update
the import list to follow this grouped alphabetical ordering.
src/Sylius/Behat/Resources/config/services/contexts/ui/admin.php (2)

488-497: Inline FQCN for FilterElement — import the class for consistency.

Line 495 uses \Sylius\Behat\Element\Admin\TaxRate\FilterElement::class inline. Since there's already a FilterElement imported from the CatalogPromotion namespace (line 22), you'll need an alias.

Suggested fix

Add to imports:

use Sylius\Behat\Element\Admin\TaxRate\FilterElement as TaxRateFilterElement;

Then update line 495:

-            service(\Sylius\Behat\Element\Admin\TaxRate\FilterElement::class),
+            service(TaxRateFilterElement::class),
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/admin.php` around
lines 488 - 497, The service definition for ManagingTaxRateContext uses an
inline FQCN for \Sylius\Behat\Element\Admin\TaxRate\FilterElement::class; add an
import alias for that class (e.g. use
Sylius\Behat\Element\Admin\TaxRate\FilterElement as TaxRateFilterElement;) and
then replace the inline FQCN in the args array with TaxRateFilterElement::class
to match the existing imported FilterElement naming pattern and avoid the
fully-qualified inline reference (refer to ManagingTaxRateContext and the args
array where FilterElement is currently provided).

14-73: use imports are not sorted alphabetically; Element imports are interleaved with Context imports.

This file has the most pronounced sorting issues. For example: BrowsingCatalogPromotionProductVariantsContext (line 23) should precede DashboardContext (line 14), and Element/interface imports (lines 21–22, 25–27, 52) are scattered among Context imports. As per coding guidelines: "Sort PHP use imports alphabetically and group by type".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/admin.php` around
lines 14 - 73, The use imports are unsorted and Element/interface imports are
interleaved with Context imports; reorder all use statements alphabetically and
group by type (all Context classes first, then Element classes, then Element
interfaces, then functions), e.g. move
BrowsingCatalogPromotionProductVariantsContext so it appears before
DashboardContext, place FormElement and FilterElement together with other
Element imports, and group FormElementInterface,
DiscountedProductsCheckingPeriodInputElementInterface,
LowestPriceFlagElementInterface,
ExcludeTaxonsFromShowingLowestPriceInputElementInterface with other interface
imports; keep the "use function service" entry in the functions group.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/Sylius/Behat/Resources/config/services/contexts/setup.php`:
- Line 114: Replace the inline fully-qualified class names with aliased imports
to avoid name collisions and improve readability: add use statements with
aliases like "use Sylius\Behat\Context\Setup\PaymentContext as
SetupPaymentContext", "use Sylius\Behat\Context\Setup\ShippingContext as
SetupShippingContext", and "use
Sylius\Behat\Context\Setup\Checkout\AddressContext as
SetupCheckoutAddressContext" at the top of the file, then update the service
registrations that currently reference
\Sylius\Behat\Context\Setup\Checkout\AddressContext::class,
\Sylius\Behat\Context\Setup\PaymentContext::class, and
\Sylius\Behat\Context\Setup\ShippingContext::class to use the new aliased class
names (SetupCheckoutAddressContext, SetupPaymentContext, SetupShippingContext).
- Around line 14-50: Reorder the PHP use imports in this file to follow the
project's guideline: group and alphabetize imports by type (class imports
together, then functions/constants); within the Sylius\Behat\Context\Setup\*
group, place ChannelContext before CheckoutContext and its subnamespaces, ensure
Checkout\PaymentContext comes before Checkout\ShippingContext, move
AdminSecurityContext up with the other Setup contexts, and insert
CatalogPromotionContext and PaymentRequestContext in their alphabetical
positions; also pull non-Behat imports (RandomnessGeneratorInterface,
TestThemeConfigurationManagerInterface) out of the Behat Setup group into their
own sorted group, and keep the service function import (service) in the
functions group.

In `@src/Sylius/Behat/Resources/config/services/contexts/transform.php`:
- Around line 14-52: The PHP "use" imports in transform.php are not sorted
alphabetically; reorder the class imports so they are alphabetized (e.g., move
ProductAssociationTypeContext after ProductContext, ProductOptionValueContext
after ProductOptionContext, and place AdminUserContext, CartContext,
ShopUserContext, ZoneContext, ZoneMemberContext into their correct alphabetical
positions among the other Sylius\Behat\Context\Transform\* imports) while
keeping the function import (service) separate and after the class imports;
ensure grouping (classes first, then functions/constants) and consistent
ordering for all listed classes (AddressContext, CatalogPromotionContext,
ChannelContext, ..., ZoneMemberContext).

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/admin.php`:
- Around line 488-497: The service definition for ManagingTaxRateContext uses an
inline FQCN for \Sylius\Behat\Element\Admin\TaxRate\FilterElement::class; add an
import alias for that class (e.g. use
Sylius\Behat\Element\Admin\TaxRate\FilterElement as TaxRateFilterElement;) and
then replace the inline FQCN in the args array with TaxRateFilterElement::class
to match the existing imported FilterElement naming pattern and avoid the
fully-qualified inline reference (refer to ManagingTaxRateContext and the args
array where FilterElement is currently provided).
- Around line 14-73: The use imports are unsorted and Element/interface imports
are interleaved with Context imports; reorder all use statements alphabetically
and group by type (all Context classes first, then Element classes, then Element
interfaces, then functions), e.g. move
BrowsingCatalogPromotionProductVariantsContext so it appears before
DashboardContext, place FormElement and FilterElement together with other
Element imports, and group FormElementInterface,
DiscountedProductsCheckingPeriodInputElementInterface,
LowestPriceFlagElementInterface,
ExcludeTaxonsFromShowingLowestPriceInputElementInterface with other interface
imports; keep the "use function service" entry in the functions group.

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/common.php`:
- Around line 14-22: Reorder the PHP use imports in this file to be
alphabetically sorted and grouped by type; specifically move
Sylius\Behat\Context\Ui\EmailContext and Sylius\Behat\Context\Ui\SaveContext so
they appear before Sylius\Behat\Context\Ui\ThemeContext, ensuring all other use
statements remain in the same grouping and alphabetical order (e.g.,
BrowserContext, ChannelContext, CustomerContext, EmailContext, SaveContext,
ThemeContext, UserContext).

In `@src/Sylius/Behat/Resources/config/services/contexts/ui/shop.php`:
- Around line 14-43: The use imports in this file are not alphabetized and mix
Context classes with Element/Service interfaces; reorder the use statements so
they are alphabetically sorted and grouped by type (Contexts first, then
Elements, then Services/interfaces), for example ensure ErrorPageContext,
LocaleContext, LoginContext, CheckoutContext, etc. appear in alphabetical order
within the Context group and interfaces like CheckoutSubtotalElementInterface,
CartWidgetElementInterface, LowestPriceInformationElementInterface,
SessionManagerInterface are grouped and alphabetized in their own block; update
the import list to follow this grouped alphabetical ordering.

@TheMilek TheMilek merged commit 7b7822f into Sylius:2.3 Feb 23, 2026
36 checks passed
@NoResponseMate NoResponseMate deleted the behat/update-services-definition-to-php-setup-transform-ui-contexts branch February 23, 2026 12:05
@NoResponseMate NoResponseMate mentioned this pull request Feb 26, 2026
27 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Behat Issues and PRs aimed at improving Behat usage. Maintenance CI configurations, READMEs, releases, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants