Improve tests involving push_bulk (#17508)
sidekiq-bulk's push_bulk can either accept arguments directly or run them through a block. Setting expectations on the result of evaluating the blocks allows testing more code (the block itself) and the test is moved closer to the *interface* of the tested code than its precise implementation.
This commit is contained in:
parent
3dc1e3cfc3
commit
2af03164cb
8 changed files with 26 additions and 31 deletions
|
@ -21,7 +21,6 @@ describe MoveWorker do
|
|||
blocking_account.block!(source_account)
|
||||
muting_account.mute!(source_account)
|
||||
|
||||
allow(UnfollowFollowWorker).to receive(:push_bulk)
|
||||
allow(BlockService).to receive(:new).and_return(block_service)
|
||||
allow(block_service).to receive(:call)
|
||||
end
|
||||
|
@ -78,8 +77,8 @@ describe MoveWorker do
|
|||
context 'both accounts are distant' do
|
||||
describe 'perform' do
|
||||
it 'calls UnfollowFollowWorker' do
|
||||
expect_push_bulk_to_match(UnfollowFollowWorker, [[local_follower.id, source_account.id, target_account.id, false]])
|
||||
subject.perform(source_account.id, target_account.id)
|
||||
expect(UnfollowFollowWorker).to have_received(:push_bulk).with([local_follower.id])
|
||||
end
|
||||
|
||||
include_examples 'user note handling'
|
||||
|
@ -92,8 +91,8 @@ describe MoveWorker do
|
|||
|
||||
describe 'perform' do
|
||||
it 'calls UnfollowFollowWorker' do
|
||||
expect_push_bulk_to_match(UnfollowFollowWorker, [[local_follower.id, source_account.id, target_account.id, true]])
|
||||
subject.perform(source_account.id, target_account.id)
|
||||
expect(UnfollowFollowWorker).to have_received(:push_bulk).with([local_follower.id])
|
||||
end
|
||||
|
||||
include_examples 'user note handling'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue