Continuing the discussion from A new approach to Social Media in the Fedi?:
As I consider this an invitation, and I actually want to criticize the example below, I’ll start a new topic.
Technical comments
Then "Arnold" has Opportunity to facilitate "Sirius",
And rename a planned Instrument called "Centering" to "Grounding",
And make that Concept common ground and part of Ubiquitous language.
Due to wanting to reuse steps, it would be better to use
Then "Arnold" has Opportunity to facilitate "Sirius",
And "Arnold" can rename a planned Instrument called "Centering" to "Grounding",
And "Arnold" can make "Grounding" common ground and part of "Ubiquitous language".
By repeating the name, one avoids the issue of having to store the name between steps. This makes implementing the steps in a test runner much easier.
For example, see ap_follow. I’m repeating “alice” and “bob” all the time. This makes for easy for easier interpretability in code. To put it simply:
When "bob" sends "alice" a Follow Activity
And "alice" sends an Accept to this Follow Activity
is easier to implement than
When "bob" sends "alice" a Follow Activity
And she sends an Accept to this Follow Activity
The second one might be more natural to read, but remember Gherkin is still code.
Structural comments
I actually think that @aschrijver’s example has Given statements that are better as a comment. Second I dislike “conditional statements”, so don’t say “you can …” in Gherkin, DO IT.
So I would prefer something like:
Scenario
We have the Need for Alignment to stimulate Collaboration,
And increase the Potential of the Movement as its Custodian,
And in order to further study the Movement's emergent forces,
Given A Communication Scientist "Sirius" shows an Interest in Grounding,
When "Arnold" facilitates "Sirius",
Then "Arnold" renames a planned Instrument from "Centering" to "Grounding",
And "Arnold" makes "Grounding" a common ground and part of Ubiquitous language.
As a general reminder these are test cases. They will be executed, and should just be actions!