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:
authorGrzegorz Bizon <grzegorz@gitlab.com>2018-10-23 10:40:49 +0300
committerGrzegorz Bizon <grzegorz@gitlab.com>2018-10-23 10:40:49 +0300
commit9b5685379efcb6ce43c8f8b38404152a8dc3ad9b (patch)
tree64ace80028b4aab5dd4e825e18e6791c2ae19d45 /spec/models
parent66e02d395b42149b7fd0d96ca9aea1814f6eef28 (diff)
parent680afb3d77db2f90b1c79d3917ce5d2df187c68b (diff)
Merge branch '42611-removed-branch-link' into 'master'
Resolve "Removed branch link in pipelines page is broken" Closes #42611 See merge request gitlab-org/gitlab-ce!21451
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/ci/pipeline_spec.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index 3b01b39ecab..153244b2159 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -779,6 +779,41 @@ describe Ci::Pipeline, :mailer do
end
end
+ describe 'ref_exists?' do
+ context 'when repository exists' do
+ using RSpec::Parameterized::TableSyntax
+
+ let(:project) { create(:project, :repository) }
+
+ where(:tag, :ref, :result) do
+ false | 'master' | true
+ false | 'non-existent-branch' | false
+ true | 'v1.1.0' | true
+ true | 'non-existent-tag' | false
+ end
+
+ with_them do
+ let(:pipeline) do
+ create(:ci_empty_pipeline, project: project, tag: tag, ref: ref)
+ end
+
+ it "correctly detects ref" do
+ expect(pipeline.ref_exists?).to be result
+ end
+ end
+ end
+
+ context 'when repository does not exist' do
+ let(:pipeline) do
+ create(:ci_empty_pipeline, project: project, ref: 'master')
+ end
+
+ it 'always returns false' do
+ expect(pipeline.ref_exists?).to eq false
+ end
+ end
+ end
+
context 'with non-empty project' do
let(:project) { create(:project, :repository) }