diff options
Diffstat (limited to 'spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb')
-rw-r--r-- | spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb b/spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb index 4d7bd3d8800..8437876c3cf 100644 --- a/spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb +++ b/spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb @@ -15,20 +15,26 @@ RSpec.describe MergeRequests::MarkReviewerReviewedService do end describe '#execute' do - describe 'invalid permissions' do - let(:service) { described_class.new(project: project, current_user: create(:user)) } - + shared_examples_for 'failed service execution' do it 'returns an error' do expect(result[:status]).to eq :error end + + it_behaves_like 'does not trigger GraphQL subscription mergeRequestReviewersUpdated' do + let(:action) { result } + end + end + + describe 'invalid permissions' do + let(:service) { described_class.new(project: project, current_user: create(:user)) } + + it_behaves_like 'failed service execution' end describe 'reviewer does not exist' do let(:service) { described_class.new(project: project, current_user: create(:user)) } - it 'returns an error' do - expect(result[:status]).to eq :error - end + it_behaves_like 'failed service execution' end describe 'reviewer exists' do @@ -40,6 +46,10 @@ RSpec.describe MergeRequests::MarkReviewerReviewedService do expect(result[:status]).to eq :success expect(reviewer.state).to eq 'reviewed' end + + it_behaves_like 'triggers GraphQL subscription mergeRequestReviewersUpdated' do + let(:action) { result } + end end end end |