diff options
Diffstat (limited to 'spec/support/shared_examples/lib/gitlab/gitlab_verify_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/lib/gitlab/gitlab_verify_shared_examples.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/support/shared_examples/lib/gitlab/gitlab_verify_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/gitlab_verify_shared_examples.rb new file mode 100644 index 00000000000..721ea3b4c88 --- /dev/null +++ b/spec/support/shared_examples/lib/gitlab/gitlab_verify_shared_examples.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +RSpec.shared_examples 'Gitlab::Verify::BatchVerifier subclass' do + describe 'batching' do + let(:first_batch) { objects[0].id..objects[0].id } + let(:second_batch) { objects[1].id..objects[1].id } + let(:third_batch) { objects[2].id..objects[2].id } + + it 'iterates through objects in batches' do + expect(collect_ranges).to eq([first_batch, second_batch, third_batch]) + end + + it 'allows the starting ID to be specified' do + expect(collect_ranges(start: second_batch.first)).to eq([second_batch, third_batch]) + end + + it 'allows the finishing ID to be specified' do + expect(collect_ranges(finish: second_batch.last)).to eq([first_batch, second_batch]) + end + end +end |