summaryrefslogtreecommitdiff
path: root/spec/lib/ci
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-05-31 15:13:40 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-05-31 15:13:40 +0200
commitc72e21fd9764845a107005562ff8ce1c06cac431 (patch)
tree1acd707d049036bd532046b91e5f25d55633744e /spec/lib/ci
parentc881425b665b9c0b022dc2e213486aecc320ec7e (diff)
downloadgitlab-ce-c72e21fd9764845a107005562ff8ce1c06cac431.tar.gz
Return stage seeds object from YAML processor
Diffstat (limited to 'spec/lib/ci')
-rw-r--r--spec/lib/ci/gitlab_ci_yaml_processor_spec.rb30
1 files changed, 14 insertions, 16 deletions
diff --git a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
index f98da1916b4..7f652c17ed5 100644
--- a/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
+++ b/spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
@@ -83,7 +83,7 @@ module Ci
end
end
- describe '#stages_for_ref' do
+ describe '#stage_seeds' do
context 'when no refs policy is specified' do
let(:config) do
YAML.dump(production: { stage: 'deploy', script: 'cap prod' },
@@ -91,15 +91,15 @@ module Ci
spinach: { stage: 'test', script: 'spinach' })
end
- it 'returns model attributes for stages with nested jobs' do
- attributes = subject.stages_for_ref('master')
+ it 'returns correctly fabricated stage seeds object' do
+ seeds = subject.stage_seeds(ref: 'master')
- expect(attributes.size).to eq 2
- expect(attributes.dig(0, :name)).to eq 'test'
- expect(attributes.dig(1, :name)).to eq 'deploy'
- expect(attributes.dig(0, :builds_attributes, 0, :name)).to eq 'rspec'
- expect(attributes.dig(0, :builds_attributes, 1, :name)).to eq 'spinach'
- expect(attributes.dig(1, :builds_attributes, 0, :name)).to eq 'production'
+ expect(seeds.stages.size).to eq 2
+ expect(seeds.stages.dig(0, :name)).to eq 'test'
+ expect(seeds.stages.dig(1, :name)).to eq 'deploy'
+ expect(seeds.jobs.dig(0, :name)).to eq 'rspec'
+ expect(seeds.jobs.dig(1, :name)).to eq 'spinach'
+ expect(seeds.jobs.dig(2, :name)).to eq 'production'
end
end
@@ -109,14 +109,12 @@ module Ci
spinach: { stage: 'test', script: 'spinach', only: ['tags'] })
end
- it 'returns stage attributes except of jobs assigned to master' do
- # true flag argument means matching jobs for tags
- #
- attributes = subject.stages_for_ref('feature', true)
+ it 'returns stage seeds only assigned to master to master' do
+ seeds = subject.stage_seeds(ref: 'feature', tag: true)
- expect(attributes.size).to eq 1
- expect(attributes.dig(0, :name)).to eq 'test'
- expect(attributes.dig(0, :builds_attributes, 0, :name)).to eq 'spinach'
+ expect(seeds.stages.size).to eq 1
+ expect(seeds.stages.dig(0, :name)).to eq 'test'
+ expect(seeds.jobs.dig(0, :name)).to eq 'spinach'
end
end
end