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:
Diffstat (limited to 'spec/lib/gitlab/ci/yaml_processor_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/yaml_processor_spec.rb45
1 files changed, 44 insertions, 1 deletions
diff --git a/spec/lib/gitlab/ci/yaml_processor_spec.rb b/spec/lib/gitlab/ci/yaml_processor_spec.rb
index 22bc6b0db59..6a15cecccbb 100644
--- a/spec/lib/gitlab/ci/yaml_processor_spec.rb
+++ b/spec/lib/gitlab/ci/yaml_processor_spec.rb
@@ -2893,7 +2893,7 @@ module Gitlab
end
end
- describe 'Rules' do
+ describe 'Job rules' do
context 'changes' do
let(:config) do
<<~YAML
@@ -2938,6 +2938,49 @@ module Gitlab
end
end
+ describe 'Workflow rules' do
+ context 'changes' do
+ let(:config) do
+ <<~YAML
+ workflow:
+ rules:
+ - changes: [README.md]
+
+ rspec:
+ script: exit 0
+ YAML
+ end
+
+ it 'returns pipeline with correct rules' do
+ expect(processor.builds.size).to eq(1)
+ expect(processor.workflow_rules).to eq(
+ [{ changes: { paths: ["README.md"] } }]
+ )
+ end
+
+ context 'with paths' do
+ let(:config) do
+ <<~YAML
+ workflow:
+ rules:
+ - changes:
+ paths: [README.md]
+
+ rspec:
+ script: exit 0
+ YAML
+ end
+
+ it 'returns pipeline with correct rules' do
+ expect(processor.builds.size).to eq(1)
+ expect(processor.workflow_rules).to eq(
+ [{ changes: { paths: ["README.md"] } }]
+ )
+ end
+ end
+ end
+ end
+
describe '#execute' do
subject { Gitlab::Ci::YamlProcessor.new(content).execute }