Skip to content

test: contract tests for Meta, Roles and Block Bindings (before their extraction) - #487

Merged
ogorzalka merged 1 commit into
release/v13.36.1from
test/meta-contract
Oct 15, 2026
Merged

ogorzalka merged 1 commit into
release/v13.36.1from
test/meta-contract

Conversation

@ogorzalka

Copy link
Copy Markdown
Member

Step 0 of the extraction of pollora/meta, pollora/roles and pollora/block-bindings (plan: .claude/plans/meta-roles-bindings-packages.md in pollora-test).

  • PublicSurfaceTest: snapshot (surface.json) of the 88 types under src/Meta, src/Role and src/BlockBinding: name, kind, parents, constants, public/protected signatures. A class that moves to a package keeps its name, so the snapshot must stay as it is; a deliberate signature change shows in the diff.
  • TypedMetaContractTest, RolesContractTest, BlockBindingsContractTest: real provider, real container and validator, stores in memory (no mock of the objects under test).

Checked by mutation (key naming, fluent return type, removals in the compiler, the config key of the options): each makes a test fail. Full suite, sequential: 1886 passed.

Tests only, no source change.

…ndings

A snapshot of every class under src/Meta, src/Role and src/BlockBinding (name, parents, public
and protected signatures, the fluent ones included), and three contract tests that run the real
providers, the real Laravel container and real stores in memory: typed meta end to end, roles
from attributes to stored capabilities, and Block Bindings over typed meta with the options a
project lists in config. The extractions into packages must keep all of it.
@ogorzalka
ogorzalka merged commit 5d50aaf into release/v13.36.1 Oct 15, 2026
10 checks passed
@ogorzalka
ogorzalka deleted the test/meta-contract branch October 15, 2026 12:55
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.

1 participant