about summary refs log tree commit diff
path: root/spec/spec_helper.rb
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-02-10 19:42:45 +0100
committerGitHub <noreply@github.com>2022-02-10 19:42:45 +0100
commit2af03164cbf0c3e86b551d9be338780c204ef9fa (patch)
treef080aa6a0fde29249405b43859f1d13bcab6cae9 /spec/spec_helper.rb
parent3dc1e3cfc3928ce709c3e60e98ecbd1edd6e2a7d (diff)
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.
Diffstat (limited to 'spec/spec_helper.rb')
-rw-r--r--spec/spec_helper.rb7
1 files changed, 7 insertions, 0 deletions
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