Commit d4319e17 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Add more unit tests for variables collection class

parent e16fba67
...@@ -14,7 +14,6 @@ module Gitlab ...@@ -14,7 +14,6 @@ module Gitlab
@variables.append(Collection::Item.fabricate(resource)) @variables.append(Collection::Item.fabricate(resource))
end end
# TODO, specs
def concat(resources) def concat(resources)
resources.each { |variable| self.append(variable) } resources.each { |variable| self.append(variable) }
end end
......
...@@ -39,6 +39,14 @@ describe Gitlab::Ci::Variables::Collection::Item do ...@@ -39,6 +39,14 @@ describe Gitlab::Ci::Variables::Collection::Item do
end end
end end
describe '#[]' do
it 'behaves like a hash accessor' do
item = described_class.new(**variable)
expect(item[:key]).to eq 'VAR'
end
end
describe '#to_hash' do describe '#to_hash' do
it 'returns a hash representation of a collection item' do it 'returns a hash representation of a collection item' do
expect(described_class.new(**variable).to_hash).to eq variable expect(described_class.new(**variable).to_hash).to eq variable
......
...@@ -37,6 +37,31 @@ describe Gitlab::Ci::Variables::Collection do ...@@ -37,6 +37,31 @@ describe Gitlab::Ci::Variables::Collection do
end end
end end
describe '#concat' do
it 'appends all elements from an array' do
collection = described_class.new([{ key: 'VAR_1', value: '1' }])
variables = [{ key: 'VAR_2', value: '2' }, { key: 'VAR_3', value: '3' }]
collection.concat(variables)
expect(collection).to include(key: 'VAR_1', value: '1', public: true)
expect(collection).to include(key: 'VAR_2', value: '2', public: true)
expect(collection).to include(key: 'VAR_3', value: '3', public: true)
end
it 'appends all elements from other collection' do
collection = described_class.new([{ key: 'VAR_1', value: '1' }])
additional = described_class.new([{ key: 'VAR_2', value: '2' },
{ key: 'VAR_3', value: '3' }])
collection.concat(additional)
expect(collection).to include(key: 'VAR_1', value: '1', public: true)
expect(collection).to include(key: 'VAR_2', value: '2', public: true)
expect(collection).to include(key: 'VAR_3', value: '3', public: true)
end
end
describe '#+' do describe '#+' do
it 'makes it possible to combine with an array' do it 'makes it possible to combine with an array' do
collection = described_class.new([{ key: 'TEST', value: 1 }]) collection = described_class.new([{ key: 'TEST', value: 1 }])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment