diff options
Diffstat (limited to 'spec/support/shared_examples/workers/idempotency_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/workers/idempotency_shared_examples.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/spec/support/shared_examples/workers/idempotency_shared_examples.rb b/spec/support/shared_examples/workers/idempotency_shared_examples.rb index 9d9b371d61a..be43ea7d5f0 100644 --- a/spec/support/shared_examples/workers/idempotency_shared_examples.rb +++ b/spec/support/shared_examples/workers/idempotency_shared_examples.rb @@ -20,7 +20,11 @@ RSpec.shared_examples 'an idempotent worker' do # Avoid stubbing calls for a more accurate run. subject do - defined?(job_args) ? perform_multiple(job_args) : perform_multiple + if described_class.include?(::Gitlab::EventStore::Subscriber) + event_worker + else + standard_worker + end end it 'is labeled as idempotent' do @@ -30,4 +34,12 @@ RSpec.shared_examples 'an idempotent worker' do it 'performs multiple times sequentially without raising an exception' do expect { subject }.not_to raise_error end + + def event_worker + consume_event(subscriber: described_class, event: event) + end + + def standard_worker + defined?(job_args) ? perform_multiple(job_args) : perform_multiple + end end |