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 <grzesiek.bizon@gmail.com>2019-01-14 16:41:12 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2019-01-14 16:41:12 +0300
commit0ea8c236c15eea3bd08f7cdd0e6d0cc4e82faef5 (patch)
tree276740c86392a15528b50388e8cfc72a96c49230 /spec/lib/gitlab
parent67e90a123f4086b9110f081b204be2250459bbc7 (diff)
Add more specs for only/except policy config entry
Diffstat (limited to 'spec/lib/gitlab')
-rw-r--r--spec/lib/gitlab/ci/config/entry/policy_spec.rb52
1 files changed, 50 insertions, 2 deletions
diff --git a/spec/lib/gitlab/ci/config/entry/policy_spec.rb b/spec/lib/gitlab/ci/config/entry/policy_spec.rb
index 83001b7fdd8..d3e84298f1e 100644
--- a/spec/lib/gitlab/ci/config/entry/policy_spec.rb
+++ b/spec/lib/gitlab/ci/config/entry/policy_spec.rb
@@ -168,9 +168,57 @@ describe Gitlab::Ci::Config::Entry::Policy do
end
end
+ describe '#value' do
+ context 'when it is `only` policy' do
+ before do
+ entry.key = :only
+ end
+
+ context 'when user overrides default values' do
+ let(:config) { { refs: %w[feature], variables: %w[$VARIABLE] } }
+
+ it 'does not include default values' do
+ expect(entry.value).to eq config
+ end
+ end
+
+ context 'when user does not override default values' do
+ let(:config) { { variables: %w[$VARIABLE] } }
+
+ it 'includes default values' do
+ expect(entry.value).to eq(refs: %w[branches tags],
+ variables: %w[$VARIABLE])
+ end
+ end
+ end
+
+ context 'when it is `except` policy' do
+ before do
+ entry.key = :except
+ end
+
+ context 'when user does not override default values' do
+ let(:config) { { variables: %w[$VARIABLE] } }
+
+ it 'does not include default values' do
+ expect(entry.value).to eq config
+ end
+ end
+ end
+ end
+
describe '.default' do
- it 'does not have a default value' do
- expect(described_class.default).to be_nil
+ context 'when `only` policy is about to be fabricated' do
+ it 'has a default value' do
+ expect(described_class.default(key: :only))
+ .to eq(refs: %w[branches tags])
+ end
+ end
+
+ context 'when `except` policy is about to be fabricated' do
+ it 'does not have a default value' do
+ expect(described_class.default(key: :except)).to be_nil
+ end
end
end
end