summaryrefslogtreecommitdiff
path: root/spec/scripts/api/create_merge_request_discussion_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/scripts/api/create_merge_request_discussion_spec.rb')
-rw-r--r--spec/scripts/api/create_merge_request_discussion_spec.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/scripts/api/create_merge_request_discussion_spec.rb b/spec/scripts/api/create_merge_request_discussion_spec.rb
new file mode 100644
index 00000000000..3867f6532a9
--- /dev/null
+++ b/spec/scripts/api/create_merge_request_discussion_spec.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+require 'fast_spec_helper'
+require_relative '../../../scripts/api/create_merge_request_discussion'
+
+RSpec.describe CreateMergeRequestDiscussion, feature_category: :tooling do
+ describe '#execute' do
+ let(:project_id) { 12345 }
+ let(:iid) { 1 }
+ let(:content) { 'test123' }
+
+ let(:options) do
+ {
+ api_token: 'token',
+ endpoint: 'https://example.gitlab.com',
+ project: project_id,
+ merge_request: {
+ 'iid' => iid
+ }
+ }
+ end
+
+ subject { described_class.new(options).execute(content) }
+
+ it 'requests commit_merge_requests from the gitlab client' do
+ expected_result = true
+ client = double('Gitlab::Client') # rubocop:disable RSpec/VerifiedDoubles
+
+ expect(Gitlab).to receive(:client)
+ .with(endpoint: options[:endpoint], private_token: options[:api_token])
+ .and_return(client)
+
+ expect(client).to receive(:create_merge_request_discussion).with(
+ project_id, iid, body: content
+ ).and_return(expected_result)
+
+ expect(subject).to eq(expected_result)
+ end
+ end
+end