2019-03-30 07:15:48 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-10-10 07:40:14 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
2020-06-26 09:08:59 +00:00
|
|
|
RSpec.describe UpdateMergeRequestsWorker do
|
2022-05-23 18:08:14 +00:00
|
|
|
let_it_be(:project) { create(:project, :repository) }
|
|
|
|
let_it_be(:user) { create(:user) }
|
|
|
|
let_it_be(:oldrev) { "123456" }
|
|
|
|
let_it_be(:newrev) { "789012" }
|
|
|
|
let_it_be(:ref) { "refs/heads/test" }
|
2016-10-10 07:40:14 +00:00
|
|
|
|
2022-05-23 18:08:14 +00:00
|
|
|
let(:worker) { described_class.new }
|
2016-10-10 07:40:14 +00:00
|
|
|
|
|
|
|
describe '#perform' do
|
2022-05-23 18:08:14 +00:00
|
|
|
subject { worker.perform(project.id, user.id, oldrev, newrev, ref) }
|
2016-10-10 07:40:14 +00:00
|
|
|
|
|
|
|
it 'executes MergeRequests::RefreshService with expected values' do
|
2022-05-23 18:08:14 +00:00
|
|
|
expect_next_instance_of(MergeRequests::RefreshService,
|
|
|
|
project: project,
|
|
|
|
current_user: user,
|
|
|
|
params: { push_options: nil }) do |service|
|
|
|
|
expect(service)
|
|
|
|
.to receive(:execute)
|
|
|
|
.with(oldrev, newrev, ref)
|
2018-06-14 13:04:44 +00:00
|
|
|
end
|
2016-10-10 07:40:14 +00:00
|
|
|
|
2022-05-23 18:08:14 +00:00
|
|
|
subject
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when push options are passed as Hash' do
|
|
|
|
let(:extra_params) { { 'push_options' => { 'ci' => { 'skip' => true } } } }
|
|
|
|
|
|
|
|
subject { worker.perform(project.id, user.id, oldrev, newrev, ref, extra_params) }
|
|
|
|
|
|
|
|
it 'executes MergeRequests::RefreshService with expected values' do
|
|
|
|
expect_next_instance_of(MergeRequests::RefreshService,
|
|
|
|
project: project,
|
|
|
|
current_user: user,
|
|
|
|
params: { push_options: { ci: { skip: true } } }) do |service|
|
|
|
|
expect(service)
|
|
|
|
.to receive(:execute)
|
|
|
|
.with(oldrev, newrev, ref)
|
|
|
|
end
|
|
|
|
|
|
|
|
subject
|
|
|
|
end
|
2016-10-10 07:40:14 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|