37 lines
1016 B
Ruby
37 lines
1016 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Ci::CreateCrossProjectPipelineWorker do
|
|
let_it_be(:user) { create(:user) }
|
|
let_it_be(:project) { create(:project) }
|
|
let_it_be(:pipeline) { create(:ci_pipeline, project: project) }
|
|
let(: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::CreateDownstreamPipelineService)
|
|
.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::CreateDownstreamPipelineService)
|
|
.not_to receive(:new)
|
|
|
|
described_class.new.perform(non_existing_record_id)
|
|
end
|
|
end
|
|
end
|
|
end
|