41 lines
1.1 KiB
Ruby
41 lines
1.1 KiB
Ruby
|
# 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
|