diff options
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r-- | spec/models/merge_request_spec.rb | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index c70ddac5da6..582cdc7b419 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -3655,7 +3655,7 @@ describe MergeRequest do describe '#merge_participants' do it 'contains author' do - expect(subject.merge_participants).to eq([subject.author]) + expect(subject.merge_participants).to contain_exactly(subject.author) end describe 'when merge_when_pipeline_succeeds? is true' do @@ -3669,8 +3669,20 @@ describe MergeRequest do author: user) end - it 'contains author only' do - expect(subject.merge_participants).to eq([subject.author]) + context 'author is not a project member' do + it 'is empty' do + expect(subject.merge_participants).to be_empty + end + end + + context 'author is a project member' do + before do + subject.project.team.add_reporter(user) + end + + it 'contains author only' do + expect(subject.merge_participants).to contain_exactly(subject.author) + end end end @@ -3683,8 +3695,24 @@ describe MergeRequest do merge_user: merge_user) end - it 'contains author and merge user' do - expect(subject.merge_participants).to eq([subject.author, merge_user]) + before do + subject.project.team.add_reporter(subject.author) + end + + context 'merge user is not a member' do + it 'contains author only' do + expect(subject.merge_participants).to contain_exactly(subject.author) + end + end + + context 'both author and merge users are project members' do + before do + subject.project.team.add_reporter(merge_user) + end + + it 'contains author and merge user' do + expect(subject.merge_participants).to contain_exactly(subject.author, merge_user) + end end end end |