Skip to content

IBX-12530: Built integration test schema through SchemaBuilderEvent - #146

Draft
Steveb-p wants to merge 2 commits into
4.6from
database-schema-hook-4.6
Draft

IBX-12530: Built integration test schema through SchemaBuilderEvent#146
Steveb-p wants to merge 2 commits into
4.6from
database-schema-hook-4.6

Conversation

@Steveb-p

@Steveb-p Steveb-p commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Warning

This branch includes a temporary commit (dependencies.json) that points CI at
ibexa/test-core#43 so tests can run before that PR merges. Must be removed before merging
this PR.

🎫 Issue IBX-12530

Related PRs:

The other 25 package PRs (all must land together with #43)
  • ibexa/activity-log#182
  • ibexa/cart#181
  • ibexa/cdp#67
  • ibexa/checkout#236
  • ibexa/collaboration#125
  • ibexa/connector-ai#218
  • ibexa/corporate-account#385
  • ibexa/dam-user#15
  • ibexa/dashboard#198
  • ibexa/discounts#362
  • ibexa/discounts-codes#61
  • ibexa/fieldtype-page#229
  • ibexa/measurement#148
  • ibexa/migrations#458
  • ibexa/oauth2-server#56
  • ibexa/order-management#202
  • ibexa/page-builder#617
  • ibexa/payment#218
  • ibexa/product-catalog#1590
  • ibexa/product-catalog-date-time-attribute#65
  • ibexa/product-catalog-symbol-attribute#27
  • ibexa/segmentation#228
  • ibexa/share#203
  • ibexa/shipping#170
  • ibexa/taxonomy#449
  • this PR

Description:

ibexa/test-core#43 rebuilds DatabaseSchemaHook on SchemaBuilderInterface::buildSchema(). It
previously imported raw schema.yaml files listed through SchemaFilesProviderInterface via
LegacySchemaImporter, which never dispatches SchemaBuilderEvent — so a package contributing
its schema through the event rather than a file was never covered by integration tests, even
though the event is what ibexa:install's legacy path uses in production.

Building through the event needs DoctrineSchemaBundle (for SchemaBuilderInterface) and
IbexaRepositoryInstallerBundle (which carries core's own BuildSchemaSubscriber — it lives
there rather than in IbexaCoreBundle, and without it the event yields every other package's
tables but none of core's). #43 registers both in IbexaTestKernel itself, so no package has
to add them, and this PR does not.

What is left is the part that is genuinely specific to this package:

UserSchemaFilesProvider only ever fed the old hook, so it and its DI registration are gone. That was the only service in
tests/integration/Resources/services.php, so the file and its $loader->load() call go too.

Nothing outside tests/ changes.

For QA:

composer test-integration — 9 tests / 20 assertions, green.

@Steveb-p Steveb-p changed the title Build integration test schema through SchemaBuilderEvent Built integration test schema through SchemaBuilderEvent Sep 9, 2026
@Steveb-p
Steveb-p force-pushed the database-schema-hook-4.6 branch from 1f284c1 to cc756f4 Compare September 9, 2026 12:35
ibexa/test-core#43 rebuilds DatabaseSchemaHook on SchemaBuilderInterface::buildSchema()
instead of importing raw schema.yaml files, so the test kernel now has to register
DoctrineSchemaBundle (which provides SchemaBuilderInterface) and
IbexaRepositoryInstallerBundle (which holds core's own BuildSchemaSubscriber).
Points CI at the branch that rebuilds DatabaseSchemaHook, so this PR's tests can run
before that PR merges. Must be removed before merging.
@Steveb-p
Steveb-p force-pushed the database-schema-hook-4.6 branch from cc756f4 to 9772ba4 Compare September 9, 2026 12:54
@sonarqubecloud

sonarqubecloud Bot commented Sep 9, 2026

Copy link
Copy Markdown

@Steveb-p Steveb-p changed the title Built integration test schema through SchemaBuilderEvent IBX-12530: Built integration test schema through SchemaBuilderEvent Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants