diff options
Diffstat (limited to 'spec/services/merge_requests/approval_service_spec.rb')
-rw-r--r-- | spec/services/merge_requests/approval_service_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/services/merge_requests/approval_service_spec.rb b/spec/services/merge_requests/approval_service_spec.rb index 0846ec7f50e..da6492aca95 100644 --- a/spec/services/merge_requests/approval_service_spec.rb +++ b/spec/services/merge_requests/approval_service_spec.rb @@ -33,9 +33,17 @@ RSpec.describe MergeRequests::ApprovalService do service.execute(merge_request) end + it_behaves_like 'does not trigger GraphQL subscription mergeRequestMergeStatusUpdated' do + let(:action) { service.execute(merge_request) } + end + it 'does not publish MergeRequests::ApprovedEvent' do expect { service.execute(merge_request) }.not_to publish_event(MergeRequests::ApprovedEvent) end + + it_behaves_like 'does not trigger GraphQL subscription mergeRequestReviewersUpdated' do + let(:action) { service.execute(merge_request) } + end end context 'with an already approved MR' do @@ -46,6 +54,14 @@ RSpec.describe MergeRequests::ApprovalService do it 'does not create an approval' do expect { service.execute(merge_request) }.not_to change { merge_request.approvals.size } end + + it_behaves_like 'does not trigger GraphQL subscription mergeRequestMergeStatusUpdated' do + let(:action) { service.execute(merge_request) } + end + + it_behaves_like 'does not trigger GraphQL subscription mergeRequestReviewersUpdated' do + let(:action) { service.execute(merge_request) } + end end context 'with valid approval' do @@ -67,6 +83,14 @@ RSpec.describe MergeRequests::ApprovalService do .to publish_event(MergeRequests::ApprovedEvent) .with(current_user_id: user.id, merge_request_id: merge_request.id) end + + it_behaves_like 'triggers GraphQL subscription mergeRequestMergeStatusUpdated' do + let(:action) { service.execute(merge_request) } + end + + it_behaves_like 'triggers GraphQL subscription mergeRequestReviewersUpdated' do + let(:action) { service.execute(merge_request) } + end end context 'user cannot update the merge request' do @@ -77,6 +101,14 @@ RSpec.describe MergeRequests::ApprovalService do it 'does not update approvals' do expect { service.execute(merge_request) }.not_to change { merge_request.approvals.size } end + + it_behaves_like 'does not trigger GraphQL subscription mergeRequestMergeStatusUpdated' do + let(:action) { service.execute(merge_request) } + end + + it_behaves_like 'does not trigger GraphQL subscription mergeRequestReviewersUpdated' do + let(:action) { service.execute(merge_request) } + end end end end |