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/push_options_spec.rb')
-rw-r--r--spec/lib/gitlab/push_options_spec.rb103
1 files changed, 0 insertions, 103 deletions
diff --git a/spec/lib/gitlab/push_options_spec.rb b/spec/lib/gitlab/push_options_spec.rb
deleted file mode 100644
index fc9e421bea6..00000000000
--- a/spec/lib/gitlab/push_options_spec.rb
+++ /dev/null
@@ -1,103 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-describe Gitlab::PushOptions do
- describe 'namespace and key validation' do
- it 'ignores unrecognised namespaces' do
- options = described_class.new(['invalid.key=value'])
-
- expect(options.get(:invalid)).to eq(nil)
- end
-
- it 'ignores unrecognised keys' do
- options = described_class.new(['merge_request.key=value'])
-
- expect(options.get(:merge_request)).to eq(nil)
- end
-
- it 'ignores blank keys' do
- options = described_class.new(['merge_request'])
-
- expect(options.get(:merge_request)).to eq(nil)
- end
-
- it 'parses recognised namespace and key pairs' do
- options = described_class.new(['merge_request.target=value'])
-
- expect(options.get(:merge_request)).to include({
- target: 'value'
- })
- end
- end
-
- describe '#get' do
- it 'can emulate Hash#dig' do
- options = described_class.new(['merge_request.target=value'])
-
- expect(options.get(:merge_request, :target)).to eq('value')
- end
- end
-
- describe '#as_json' do
- it 'returns all options' do
- options = described_class.new(['merge_request.target=value'])
-
- expect(options.as_json).to include(
- merge_request: {
- target: 'value'
- }
- )
- end
- end
-
- it 'can parse multiple push options' do
- options = described_class.new([
- 'merge_request.create',
- 'merge_request.target=value'
- ])
-
- expect(options.get(:merge_request)).to include({
- create: true,
- target: 'value'
- })
- expect(options.get(:merge_request, :create)).to eq(true)
- expect(options.get(:merge_request, :target)).to eq('value')
- end
-
- it 'stores options internally as a HashWithIndifferentAccess' do
- options = described_class.new([
- 'merge_request.create'
- ])
-
- expect(options.get('merge_request', 'create')).to eq(true)
- expect(options.get(:merge_request, :create)).to eq(true)
- end
-
- it 'selects the last option when options contain duplicate namespace and key pairs' do
- options = described_class.new([
- 'merge_request.target=value1',
- 'merge_request.target=value2'
- ])
-
- expect(options.get(:merge_request, :target)).to eq('value2')
- end
-
- it 'defaults values to true' do
- options = described_class.new(['merge_request.create'])
-
- expect(options.get(:merge_request, :create)).to eq(true)
- end
-
- it 'expands aliases' do
- options = described_class.new(['mr.target=value'])
-
- expect(options.get(:merge_request, :target)).to eq('value')
- end
-
- it 'forgives broken push options' do
- options = described_class.new(['merge_request . target = value'])
-
- expect(options.get(:merge_request, :target)).to eq('value')
- end
-end