Commit 2c5f1aeb authored by Grzegorz Bizon's avatar Grzegorz Bizon

Add more specs for CI/CD bridge class

parent 001ad9c3
......@@ -5,6 +5,7 @@ module Ci
include ::ApplicationWorker
include ::PipelineQueue
# rubocop:disable CodeReuse/ActiveRecord
def perform(bridge_id)
::Ci::Bridge.find_by(id: bridge_id).try do |bridge|
::Ci::CreateCrossProjectPipelineService
......@@ -12,5 +13,6 @@ module Ci
.execute(bridge)
end
end
# rubocop:enable CodeReuse/ActiveRecord
end
end
......@@ -5,7 +5,11 @@ describe Ci::Bridge do
set(:pipeline) { create(:ci_pipeline, project: project) }
let(:bridge) do
create(:ci_bridge, status: :created, pipeline: pipeline)
create(:ci_bridge, status: :created, options: options, pipeline: pipeline)
end
let(:options) do
{ trigger: { project: 'my/project', branch: 'master' } }
end
it 'has many sourced pipelines' do
......@@ -21,4 +25,42 @@ describe Ci::Bridge do
end
end
end
describe '#target_user' do
it 'is the same as a user who created a pipeline' do
expect(bridge.target_user).to eq bridge.user
end
end
describe '#target_project_name' do
context 'when trigger is defined' do
it 'returns a full path of a project' do
expect(bridge.target_project_name).to eq 'my/project'
end
end
context 'when trigger does not have project defined' do
let(:options) { { trigger: {} } }
it 'returns nil' do
expect(bridge.target_project_name).to be_nil
end
end
end
describe '#target_ref' do
context 'when trigger is defined' do
it 'returns a ref name' do
expect(bridge.target_ref).to eq 'master'
end
end
context 'when trigger does not have project defined' do
let(:options) { nil }
it 'returns nil' do
expect(bridge.target_ref).to be_nil
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