diff options
Diffstat (limited to 'spec/services/discussions/unresolve_service_spec.rb')
-rw-r--r-- | spec/services/discussions/unresolve_service_spec.rb | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/spec/services/discussions/unresolve_service_spec.rb b/spec/services/discussions/unresolve_service_spec.rb index 0009239232c..e9f58e4e10e 100644 --- a/spec/services/discussions/unresolve_service_spec.rb +++ b/spec/services/discussions/unresolve_service_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -RSpec.describe Discussions::UnresolveService do +RSpec.describe Discussions::UnresolveService, feature_category: :code_review_workflow do describe "#execute" do let_it_be(:project) { create(:project, :repository) } let_it_be(:user) { create(:user, developer_projects: [project]) } @@ -29,5 +29,32 @@ RSpec.describe Discussions::UnresolveService do service.execute end + + it "sends GraphQL triggers" do + expect(GraphqlTriggers).to receive(:merge_request_merge_status_updated).with(discussion.noteable) + + service.execute + end + + context "when there are existing unresolved discussions" do + before do + create(:diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion + end + + it "does not send a GraphQL triggers" do + expect(GraphqlTriggers).not_to receive(:merge_request_merge_status_updated) + + service.execute + end + end + + context "when the noteable is not a merge request" do + it "does not send a GraphQL triggers" do + expect(discussion).to receive(:for_merge_request?).and_return(false) + expect(GraphqlTriggers).not_to receive(:merge_request_merge_status_updated) + + service.execute + end + end end end |