Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/workers/update_merge_requests_worker_spec.rb')
-rw-r--r--spec/workers/update_merge_requests_worker_spec.rb49
1 files changed, 34 insertions, 15 deletions
diff --git a/spec/workers/update_merge_requests_worker_spec.rb b/spec/workers/update_merge_requests_worker_spec.rb
index bd0dc2f9ef4..64fcc2bd388 100644
--- a/spec/workers/update_merge_requests_worker_spec.rb
+++ b/spec/workers/update_merge_requests_worker_spec.rb
@@ -3,28 +3,47 @@
require 'spec_helper'
RSpec.describe UpdateMergeRequestsWorker do
- include RepoHelpers
+ 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" }
- let(:project) { create(:project, :repository) }
- let(:user) { create(:user) }
-
- subject { described_class.new }
+ let(:worker) { described_class.new }
describe '#perform' do
- let(:oldrev) { "123456" }
- let(:newrev) { "789012" }
- let(:ref) { "refs/heads/test" }
-
- def perform
- subject.perform(project.id, user.id, oldrev, newrev, ref)
- end
+ subject { worker.perform(project.id, user.id, oldrev, newrev, ref) }
it 'executes MergeRequests::RefreshService with expected values' do
- expect_next_instance_of(MergeRequests::RefreshService, project: project, current_user: user) do |refresh_service|
- expect(refresh_service).to receive(:execute).with(oldrev, newrev, ref)
+ 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)
end
- perform
+ 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
end
end
end