Commit 001ad9c3 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Add specs for cross project pipeline creation worker

parent 038bda8f
......@@ -28,11 +28,11 @@ module EE
end
def target_project_name
options.dig(:trigger, :project)
options&.dig(:trigger, :project)
end
def target_ref
options.dig(:trigger, :branch)
options&.dig(:trigger, :branch)
end
end
end
......
......@@ -6,7 +6,7 @@ module Ci
include ::PipelineQueue
def perform(bridge_id)
::Ci::Bridge.find(bridge_id).try do |bridge|
::Ci::Bridge.find_by(id: bridge_id).try do |bridge|
::Ci::CreateCrossProjectPipelineService
.new(bridge.project, bridge.user)
.execute(bridge)
......
require 'spec_helper'
describe Ci::CreateCrossProjectPipelineWorker do
set(:user) { create(:user) }
set(:project) { create(:project) }
set(:pipeline) { create(:ci_pipeline, project: project) }
set(:bridge) { create(:ci_bridge, user: user, pipeline: pipeline) }
let(:service) { double('pipeline creation service') }
describe '#perform' do
context 'when bridge exists' do
it 'calls cross project pipeline creation service' do
expect(Ci::CreateCrossProjectPipelineService)
.to receive(:new)
.with(project, user)
.and_return(service)
expect(service).to receive(:execute).with(bridge)
described_class.new.perform(bridge.id)
end
end
context 'when bridge does not exist' do
it 'does nothing' do
expect(Ci::CreateCrossProjectPipelineService)
.not_to receive(:new)
described_class.new.perform(123)
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment