diff options
Diffstat (limited to 'spec/finders/merge_request_target_project_finder_spec.rb')
-rw-r--r-- | spec/finders/merge_request_target_project_finder_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/finders/merge_request_target_project_finder_spec.rb b/spec/finders/merge_request_target_project_finder_spec.rb index bf735152d99..4b6c729dab7 100644 --- a/spec/finders/merge_request_target_project_finder_spec.rb +++ b/spec/finders/merge_request_target_project_finder_spec.rb @@ -85,4 +85,28 @@ RSpec.describe MergeRequestTargetProjectFinder do expect(finder.execute).to contain_exactly(other_fork, base_project) end end + + context 'searching' do + let(:base_project) { create(:project, :private, path: 'base') } + let(:forked_project) { fork_project(base_project, base_project.first_owner) } + let(:other_fork) { fork_project(base_project) } + + before do + base_project.add_developer(user) + forked_project.add_developer(user) + other_fork.add_developer(user) + end + + it 'returns all projects with empty search' do + expect(finder.execute(search: '')).to match_array([base_project, forked_project, other_fork]) + end + + it 'returns forked project with search string' do + expect(finder.execute(search: forked_project.full_path)).to match_array([forked_project]) + end + + it 'returns no projects with search for project that does no exist' do + expect(finder.execute(search: 'root')).to match_array([]) + end + end end |