summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-05-08 16:01:18 +0900
committerShinya Maeda <shinya@gitlab.com>2018-05-08 16:01:18 +0900
commit04dc80dbb5cb991172ebeb69b9a20c7b6eef4dbf (patch)
tree028750abda02e8a3347feff65a8d69224ef3e52d
parent0af2ab18fa7914380150c0403289a9d99ea45ded (diff)
downloadgitlab-ce-04dc80dbb5cb991172ebeb69b9a20c7b6eef4dbf.tar.gz
Fix spec
-rw-r--r--app/models/ci/pipeline.rb2
-rw-r--r--doc/ci/variables/README.md2
-rw-r--r--spec/models/ci/pipeline_spec.rb1
-rw-r--r--spec/support/shared_examples/models/atomic_internal_id_spec.rb13
4 files changed, 14 insertions, 4 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index d542868f01f..e9a56525fde 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -14,7 +14,7 @@ module Ci
belongs_to :auto_canceled_by, class_name: 'Ci::Pipeline'
belongs_to :pipeline_schedule, class_name: 'Ci::PipelineSchedule'
- has_internal_id :iid, scope: :project, presence: false, init: -> do |s|
+ has_internal_id :iid, scope: :project, presence: false, init: ->(s) do
s&.project&.pipelines&.maximum(:iid) || s&.project&.pipelines.count
end
diff --git a/doc/ci/variables/README.md b/doc/ci/variables/README.md
index 7fa293665e0..4a83d4fbe33 100644
--- a/doc/ci/variables/README.md
+++ b/doc/ci/variables/README.md
@@ -63,7 +63,7 @@ future GitLab releases.**
| **CI_RUNNER_REVISION** | all | 10.6 | GitLab Runner revision that is executing the current job |
| **CI_RUNNER_EXECUTABLE_ARCH** | all | 10.6 | The OS/architecture of the GitLab Runner executable (note that this is not necessarily the same as the environment of the executor) |
| **CI_PIPELINE_ID** | 8.10 | 0.5 | The unique id of the current pipeline that GitLab CI uses internally |
-| **CI_PIPELINE_IID** | 10.8 | all | The unique id of the current pipeline scoped to project |
+| **CI_PIPELINE_IID** | 11.0 | all | The unique id of the current pipeline scoped to project |
| **CI_PIPELINE_TRIGGERED** | all | all | The flag to indicate that job was [triggered] |
| **CI_PIPELINE_SOURCE** | 10.0 | all | Indicates how the pipeline was triggered. Possible options are: `push`, `web`, `trigger`, `schedule`, `api`, and `pipeline`. For pipelines created before GitLab 9.5, this will show as `unknown` |
| **CI_PROJECT_DIR** | all | all | The full path where the repository is cloned and where the job is run |
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index 60ba9e62be7..d3e0389cc72 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -41,6 +41,7 @@ describe Ci::Pipeline, :mailer do
let(:instance) { build(:ci_pipeline) }
let(:scope_attrs) { { project: instance.project } }
let(:usage) { :ci_pipelines }
+ let(:validate_presence) { false }
end
end
diff --git a/spec/support/shared_examples/models/atomic_internal_id_spec.rb b/spec/support/shared_examples/models/atomic_internal_id_spec.rb
index 6a6e13418a9..1bccb578d79 100644
--- a/spec/support/shared_examples/models/atomic_internal_id_spec.rb
+++ b/spec/support/shared_examples/models/atomic_internal_id_spec.rb
@@ -1,6 +1,8 @@
require 'spec_helper'
-shared_examples_for 'AtomicInternalId' do
+shared_examples_for 'AtomicInternalId' do
+ let(:validate_presence) { true }
+
describe '.has_internal_id' do
describe 'Module inclusion' do
subject { described_class }
@@ -15,7 +17,14 @@ shared_examples_for 'AtomicInternalId' do
allow(InternalId).to receive(:generate_next).and_return(nil)
end
- it { is_expected.to validate_presence_of(internal_id_attribute) }
+ it 'checks presence' do
+ if validate_presence
+ is_expected.to validate_presence_of(internal_id_attribute)
+ else
+ is_expected.not_to validate_presence_of(internal_id_attribute)
+ end
+ end
+
it { is_expected.to validate_numericality_of(internal_id_attribute) }
end