diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-10-23 10:40:49 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-10-23 10:40:49 +0300 |
commit | 9b5685379efcb6ce43c8f8b38404152a8dc3ad9b (patch) | |
tree | 64ace80028b4aab5dd4e825e18e6791c2ae19d45 /spec/models | |
parent | 66e02d395b42149b7fd0d96ca9aea1814f6eef28 (diff) | |
parent | 680afb3d77db2f90b1c79d3917ce5d2df187c68b (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.rb | 35 |
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) } |