summaryrefslogtreecommitdiff
path: root/spec/finders/repositories/branch_names_finder_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/finders/repositories/branch_names_finder_spec.rb')
-rw-r--r--spec/finders/repositories/branch_names_finder_spec.rb39
1 files changed, 26 insertions, 13 deletions
diff --git a/spec/finders/repositories/branch_names_finder_spec.rb b/spec/finders/repositories/branch_names_finder_spec.rb
index 4d8bfcc0f20..40f5d339832 100644
--- a/spec/finders/repositories/branch_names_finder_spec.rb
+++ b/spec/finders/repositories/branch_names_finder_spec.rb
@@ -5,21 +5,34 @@ require 'spec_helper'
RSpec.describe Repositories::BranchNamesFinder do
let(:project) { create(:project, :repository) }
- let(:branch_names_finder) { described_class.new(project.repository, search: 'conflict-*') }
-
describe '#execute' do
- subject(:execute) { branch_names_finder.execute }
-
- it 'filters branch names' do
- expect(execute).to contain_exactly(
- 'conflict-binary-file',
- 'conflict-resolvable',
- 'conflict-contains-conflict-markers',
- 'conflict-missing-side',
- 'conflict-start',
- 'conflict-non-utf8',
- 'conflict-too-large'
+ it 'returns all filtered branch names' do
+ expect(create_branch_names_finder(0, 100).execute).to contain_exactly(
+ 'snippet/edit-file',
+ 'snippet/multiple-files',
+ 'snippet/no-files',
+ 'snippet/rename-and-edit-file',
+ 'snippet/single-file'
)
end
+
+ it 'returns a limited number of offset filtered branch names' do
+ starting_names = create_branch_names_finder(0, 3).execute
+ offset_names = create_branch_names_finder(3, 2).execute
+
+ expect(starting_names.count).to eq(3)
+ expect(offset_names.count).to eq(2)
+
+ expect(offset_names).not_to include(*starting_names)
+
+ all_names = create_branch_names_finder(0, 100).execute
+ expect(all_names).to contain_exactly(*starting_names, *offset_names)
+ end
+
+ private
+
+ def create_branch_names_finder(offset, limit)
+ described_class.new(project.repository, search: 'snippet/*', offset: offset, limit: limit)
+ end
end
end