From 2af03164cbf0c3e86b551d9be338780c204ef9fa Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Feb 2022 19:42:45 +0100 Subject: 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. --- spec/spec_helper.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'spec/spec_helper.rb') diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index b6d127a08..0414ba9ed 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -57,3 +57,10 @@ end def json_str_to_hash(str) JSON.parse(str, symbolize_names: true) end + +def expect_push_bulk_to_match(klass, matcher) + expect(Sidekiq::Client).to receive(:push_bulk).with(hash_including({ + "class" => klass, + "args" => matcher + })) +end -- cgit