-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Formalizing the test-machine command API #230
Conversation
Codecov Report
@@ Coverage Diff @@
## master #230 +/- ##
==========================================
+ Coverage 80.20% 80.30% +0.09%
==========================================
Files 42 42
Lines 2627 2660 +33
Branches 151 153 +2
==========================================
+ Hits 2107 2136 +29
- Misses 369 371 +2
- Partials 151 153 +2 Continue to review full report at Codecov.
|
Nice - good start to add hooks for further stuff, and the spec is a very helpful addition. |
Nice work! |
Yeah I think it's worth following up with that. The |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Rationale
The test-machine commands are "just data". This allows them to be created using whatever method is convenient (e.g. generated from the contents of some edn file, extracted from a database, read from an existing kafka topic etc.). However when authoring commands from scratch, it can be annoying to have to remember the syntax of each command (or keep referring back to the docs).
This PR adds some functions in the jackdaw.test.commands ns to provide a bit of help for this use-case. Having (spec'd) functions means that tools like cider can give us a bit of interactive help without the need to leave our editor. The specs are very basic for now but we can further refine them (particularly the
::write-options
and::watch-options
specs) to provide even better assistance. As an example, the screenshot below is the result fromM-x cider-doc
on thejackdaw.test.commands/watch
function.Checklist