diff options
author | Nick Thomas <nick@gitlab.com> | 2018-08-28 15:14:39 +0200 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2018-09-05 15:10:39 +0100 |
commit | 03c733849c1fad9885b0b947e60744633b7f5bd6 (patch) | |
tree | 013bd8a1a0470f053178e51f22f517907c58bb8b /spec/finders | |
parent | db28db414c8ab3d253294e430cd99d14499fad2e (diff) | |
download | gitlab-ce-03c733849c1fad9885b0b947e60744633b7f5bd6.tar.gz |
Convert global templates to vendored templates via a ::TemplateFinder
Diffstat (limited to 'spec/finders')
-rw-r--r-- | spec/finders/template_finder_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/finders/template_finder_spec.rb b/spec/finders/template_finder_spec.rb new file mode 100644 index 00000000000..59c5427ee50 --- /dev/null +++ b/spec/finders/template_finder_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +describe TemplateFinder do + using RSpec::Parameterized::TableSyntax + + describe '#execute' do + where(:type, :vendored_name) do + :dockerfiles | 'Binary' + :gitignores | 'Actionscript' + :gitlab_ci_ymls | 'Android' + end + + with_them do + it 'returns all vendored templates when no name is specified' do + result = described_class.new(type).execute + + expect(result).to include(have_attributes(name: vendored_name)) + end + + it 'returns only the specified vendored template when a name is specified' do + result = described_class.new(type, name: vendored_name).execute + + expect(result).to have_attributes(name: vendored_name) + end + + it 'returns nil when an unknown name is specified' do + result = described_class.new(type, name: 'unknown').execute + + expect(result).to be_nil + end + end + end +end |