Behavior-Driven Development and the Democratic Process
See original GitHub issueAn analphabet asks revolutionaries writing the first republican constitution : -“How can I compare what you’re writing in here to the monarchy I’m being abused by ?” -“Errr… Learn to read ?” -“I trust you ; can you read it to me, pretty please ?” -“Bring forth the trained parrot, comrades.”
We need a 🐦 too ! Something that all can listen to (read, in our N+1).
Gherkin is pretty good at bridging coders with the public at large, being somewhat plain English. Notwithstanding its other benefits.
Feature: Proposing ideas
In order to share knowledge and initiate legal updates
As a citizen
I need to be able to propose ideas
Background:
Given I am the citizen named Richard S.
And there is a tag titled Libre
Scenario: Propose a fully qualified idea successfully
When I am on the homepage
And I trigger the button to propose an idea
And I fill the title with "Require libre software in all governmental endeavours."
And I fill the description with "Otherwise, I will draw my katanas."
And I add the tag Libre
And I sign with my keyprint
And I trigger the button to open the vote
Then there should be a proposal titled "Require libre software in all governmental endeavours."
And ...
This all raises a serious question : how do we democratically choose the features of the very tool we’re using for democracy ?
There’s a key point in the lifetime of a project that language creators and IDE designers know well :
When does your language have its own compiler written in it ?
At which point do you use your IDE to code your IDE ?
What’s the name of that key point ? EYODF ?
My point is that it would be easier and make more sense to vote and debate on Steps, Scenarios and whole Features than commits.
Now, I audited rapidly the various prospects one can hope for when rooting for behaviour driven development on Meteor, and Chimp jumped right out of the jungle. There’s a lot of poop-throwers using it, seems that it runs quite well with Cucumber (hence, we can Gherkin), and what’s more they say we can have a backdoor access to the server database so most of the fixture steps can be taken care of quickly and efficiently. Action steps mostly run in an enslaved client browser, as we manipulate the DOM and simulate end-user keyboard, mouse or touch activity. Check steps can be both client or server, which is very empowering.
Is anyone here experienced with Chimp + Cucumber + Meteor ? Any other runners to suggest ?
It’s exciting !
A non-telepath asks telepathic revolutionaries working on the legal hivemind : -“How can I compare what you’re thinking in here to the mazylegalith I’m being abused by ?” -“Errr… Join the hive ?” -“I trust you. Can you tell me what the hive would answer to these questions ?” -“ASK US ANYTHING.”
Issue Analytics
- State:
- Created 7 years ago
- Reactions:6
- Comments:21 (4 by maintainers)
Top GitHub Comments
It’s a local project mainly in Spanish (sorry for that but it’s a very specific development for a local political issue): https://github.com/comunes/bebes-robados/tree/master/tests/cucumber/features
This project uses last meteor/chimp versions, but I’ve started it with old versions of both meteor and chimp and following old documentations and chimp samples.
So maybe it’s more recommendable to follow the chimp current documentation and (http://webdriver.io/api.html).
How about we make this a reality. Moving this to next. We’ve started doing this for the UX enhancement https://github.com/DemocracyEarth/sovereign/issues/238