diff options
author | Robert Speicher <rspeicher@gmail.com> | 2019-06-19 18:58:43 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2019-06-19 18:58:43 +0300 |
commit | ea1b24cbe01d4d76fce693cbf329896e2203ae3d (patch) | |
tree | e47190ba7a7e6e40f690210cac1121882929b031 /spec | |
parent | 9fa2b6578745658c36ced14a4ad1afe75c56ecc1 (diff) | |
parent | 5469d21d02d2969f7b1c629ebd5e5696c664736c (diff) |
Merge branch 'pderichs-52123' into 'master'
Use NotesFinder to get Noteable
See merge request gitlab-org/gitlab-ce!28205
Diffstat (limited to 'spec')
-rw-r--r-- | spec/finders/notes_finder_spec.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/finders/notes_finder_spec.rb b/spec/finders/notes_finder_spec.rb index 0a685152cf9..87bde4ca2f6 100644 --- a/spec/finders/notes_finder_spec.rb +++ b/spec/finders/notes_finder_spec.rb @@ -292,5 +292,31 @@ describe NotesFinder do expect(subject.target).to eq(commit) end end + + context 'target_iid' do + let(:issue) { create(:issue, project: project) } + let(:merge_request) { create(:merge_request, source_project: project, target_project: project) } + + it 'finds issues by iid' do + iid_params = { target_type: 'issue', target_iid: issue.iid } + expect(described_class.new(project, user, iid_params).target).to eq(issue) + end + + it 'finds merge requests by iid' do + iid_params = { target_type: 'merge_request', target_iid: merge_request.iid } + expect(described_class.new(project, user, iid_params).target).to eq(merge_request) + end + + it 'returns nil if both target_id and target_iid are not given' do + params_without_any_id = { target_type: 'issue' } + expect(described_class.new(project, user, params_without_any_id).target).to be_nil + end + + it 'prioritizes target_id over target_iid' do + issue2 = create(:issue, project: project) + iid_params = { target_type: 'issue', target_id: issue2.id, target_iid: issue.iid } + expect(described_class.new(project, user, iid_params).target).to eq(issue2) + end + end end end |