Testing
If we look at acceptance criteria through the lens of an event storming process model, we see some specializations of
the generic Given/When/Then
format.
For aggregates:
Given <the aggregate has some data>
When <the aggregate accepts a command>
Then <the aggregate has different data and/or emits an event>
For policies:
Given <the policy's read model returns some information>
When <the policy reacts to an event>
Then <the policy issues a command>
For read models:
Given <the read model has some data>
When <the read model handles an event>
Then <the read model has different data>