diff options
Diffstat (limited to 'spec/models/project_services/chat_message/merge_message_spec.rb')
-rw-r--r-- | spec/models/project_services/chat_message/merge_message_spec.rb | 69 |
1 files changed, 52 insertions, 17 deletions
diff --git a/spec/models/project_services/chat_message/merge_message_spec.rb b/spec/models/project_services/chat_message/merge_message_spec.rb index 45be5212508..02b266e4fae 100644 --- a/spec/models/project_services/chat_message/merge_message_spec.rb +++ b/spec/models/project_services/chat_message/merge_message_spec.rb @@ -29,23 +29,6 @@ RSpec.describe ChatMessage::MergeMessage do } end - # Integration point in EE - context 'when state is overridden' do - it 'respects the overridden state' do - allow(subject).to receive(:state_or_action_text) { 'devoured' } - - aggregate_failures do - expect(subject.summary).not_to include('opened') - expect(subject.summary).to include('devoured') - - activity_title = subject.activity[:title] - - expect(activity_title).not_to include('opened') - expect(activity_title).to include('devoured') - end - end - end - context 'without markdown' do let(:color) { '#345' } @@ -106,4 +89,56 @@ RSpec.describe ChatMessage::MergeMessage do end end end + + context 'approved' do + before do + args[:object_attributes][:action] = 'approved' + end + + it 'returns a message regarding completed approval of merge requests' do + expect(subject.pretext).to eq( + 'Test User (test.user) approved merge request <http://somewhere.com/-/merge_requests/100|!100 *Merge Request title*> '\ + 'in <http://somewhere.com|project_name>') + expect(subject.attachments).to be_empty + end + end + + context 'unapproved' do + before do + args[:object_attributes][:action] = 'unapproved' + end + + it 'returns a message regarding revocation of completed approval of merge requests' do + expect(subject.pretext).to eq( + 'Test User (test.user) unapproved merge request <http://somewhere.com/-/merge_requests/100|!100 *Merge Request title*> '\ + 'in <http://somewhere.com|project_name>') + expect(subject.attachments).to be_empty + end + end + + context 'approval' do + before do + args[:object_attributes][:action] = 'approval' + end + + it 'returns a message regarding added approval of merge requests' do + expect(subject.pretext).to eq( + 'Test User (test.user) added their approval to merge request <http://somewhere.com/-/merge_requests/100|!100 *Merge Request title*> '\ + 'in <http://somewhere.com|project_name>') + expect(subject.attachments).to be_empty + end + end + + context 'unapproval' do + before do + args[:object_attributes][:action] = 'unapproval' + end + + it 'returns a message regarding revoking approval of merge requests' do + expect(subject.pretext).to eq( + 'Test User (test.user) removed their approval from merge request <http://somewhere.com/-/merge_requests/100|!100 *Merge Request title*> '\ + 'in <http://somewhere.com|project_name>') + expect(subject.attachments).to be_empty + end + end end |