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/services/ci/list_config_variables_service_spec.rb')
-rw-r--r--spec/services/ci/list_config_variables_service_spec.rb45
1 files changed, 40 insertions, 5 deletions
diff --git a/spec/services/ci/list_config_variables_service_spec.rb b/spec/services/ci/list_config_variables_service_spec.rb
index 07c9085b83a..ccc8b77f6b2 100644
--- a/spec/services/ci/list_config_variables_service_spec.rb
+++ b/spec/services/ci/list_config_variables_service_spec.rb
@@ -32,15 +32,50 @@ RSpec.describe Ci::ListConfigVariablesService,
}
end
+ let(:expected_result) do
+ {
+ 'KEY1' => { value: 'val 1', description: 'description 1' },
+ 'KEY2' => { value: 'val 2', description: '' },
+ 'KEY3' => { value: 'val 3' },
+ 'KEY4' => { value: 'val 4' }
+ }
+ end
+
before do
synchronous_reactive_cache(service)
end
- it 'returns variable list' do
- expect(result['KEY1']).to eq({ value: 'val 1', description: 'description 1' })
- expect(result['KEY2']).to eq({ value: 'val 2', description: '' })
- expect(result['KEY3']).to eq({ value: 'val 3' })
- expect(result['KEY4']).to eq({ value: 'val 4' })
+ it 'returns variables list' do
+ expect(result).to eq(expected_result)
+ end
+
+ context 'when the ref is a sha from a fork' do
+ include_context 'when a project repository contains a forked commit'
+
+ before do
+ allow_next_instance_of(Gitlab::Ci::ProjectConfig) do |instance|
+ allow(instance).to receive(:exists?).and_return(true)
+ allow(instance).to receive(:content).and_return(YAML.dump(ci_config))
+ end
+ end
+
+ let(:ref) { forked_commit_sha }
+
+ context 'when a project ref contains the sha' do
+ before do
+ mock_branch_contains_forked_commit_sha
+ end
+
+ it 'returns variables list' do
+ expect(result).to eq(expected_result)
+ end
+ end
+
+ context 'when a project ref does not contain the sha' do
+ it 'returns empty response' do
+ expect(result).to eq({})
+ end
+ end
end
end