Add assert with params convenience methods #286
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When I am testing that actions are pushed correctly, I almost always want to check the parameters that it is pushed with.
Currently it is a little cumbersome to check the params, as they are passed in as an array.
Additionally, the thing I want to check is in the second argument so I have an unused variable.
Solution
If we spread the params into the callback we can use type safety to check we have the correct type and shortcut the param check.
Or we can assert by an array
Or my favourite way if the action only has a single param.
This PR also adds the ability to assert the queue using
assertPushedWithParamsOn()
, and assert that an action wasn't pushed with params usingassertNotPushedWithParams()
I later found a test helper
assertJobPushedWith()
that could be replaced.Note: Naming the methods
assertPushedWith()
,assertNotPushedWith()
also works well, but sounds a little strange when checking the queue as wellassertPushedWithOn()
I'm easy either way.