Remove default .once
in singular matchers
#2
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.
The previous situation
Implicitely, both matchers
enqueue_sidekiq_job
andhave_enqueued_sidekiq_job
matched that exactly only one job was enqueued.A plural (and undocumented) version of both matchers was available to not care about of how many jobs were enqueued.
The problem
Using this singular matcher may be confusing, especially when using negative assertions:
The solution
The implicit
.once
option will be removed. Both singular and plural matchers are now aliased.If you want to verify that only one and exactly only one job has been enqueued, you have to do it explicitely :
This solution should not break existing specs, except ambiguous negative assertions.