0
0
Fork 0

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:
Claire 2022-02-10 19:42:45 +01:00 committed by GitHub
parent 3dc1e3cfc3
commit 2af03164cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 26 additions and 31 deletions

View file

@ -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