Skip to content

test(site): pin what each guestbook cell does that nothing else reaches - #96

Open
systemfsoftware-maker wants to merge 1 commit into
test/guestbook-store-lawsfrom
test/site-cell-composition
Open

systemfsoftware-maker wants to merge 1 commit into
test/guestbook-store-lawsfrom
test/site-cell-composition

Conversation

@systemfsoftware-maker

@systemfsoftware-maker systemfsoftware-maker commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

The journeys watch rendered pages, the property tests pin pure decisions
and the store suite never runs a cell, so five composed contracts had no
test: a stored state outside the three fails moderate with
StoredStateInvalid and leaves the row as it was; an illegal event fails
with IllegalTransition and writes nothing; a sign refusal writes nothing;
moderating an unknown id fails EntryNotFound; and EntryMoved persists
exactly the decided state. Each cell runs under Cell.provideContext over
the in-memory store, bound the way the composition root binds it.
Sabotaging either cell's refusal path turns its scenario red while every
other suite stays green.

Verification

Gates exit 0; site test 26. Sabotage: moderate CommandRejected→TransitionConflict and sign persisting on refusal each turn one scenario red.

Layer of stack #100 (trunk main), merge bottom-up.

The journeys watch rendered pages, the property tests pin pure decisions
and the store suite never runs a cell, so five composed contracts had no
test: a stored state outside the three fails moderate with
StoredStateInvalid and leaves the row as it was; an illegal event fails
with IllegalTransition and writes nothing; a sign refusal writes nothing;
moderating an unknown id fails EntryNotFound; and EntryMoved persists
exactly the decided state. Each cell runs under Cell.provideContext over
the in-memory store, bound the way the composition root binds it.
Sabotaging either cell's refusal path turns its scenario red while every
other suite stays green.
@systemfsoftware-maker
systemfsoftware-maker added this pull request to stack #100 October 16, 2026 04:17
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