Add unit tests for Configuration#config_files

This commit is contained in:
Parker Moore 2013-04-12 22:29:27 +02:00
parent 0c0b13e69b
commit 0812c1b4c9
1 changed files with 24 additions and 0 deletions

View File

@ -25,6 +25,30 @@ class TestConfiguration < Test::Unit::TestCase
assert_equal @string_keys, @string_keys.stringify_keys assert_equal @string_keys, @string_keys.stringify_keys
end end
end end
context "#config_files" do
setup do
@config = Configuration[Configuration::DEFAULTS]
@base_config = {"source" => source_dir}
@no_override = @base_config.merge({})
@one_config_file = @base_config.merge({ "config" => "config.yml" })
@multiple_files = @base_config.merge({ "config" => %w[config/site.yml config/deploy.yml configuration.yml] })
end
should "always return an array" do
assert @config.config_files(@no_override).is_a?(Array)
assert @config.config_files(@one_config_file).is_a?(Array)
assert @config.config_files(@multiple_files).is_a?(Array)
end
should "return the default config path if no config files are specified" do
assert_equal [File.join(source_dir, "_config.yml")], @config.config_files(@no_override)
end
should "return the config if given one config file" do
assert_equal %w[config.yml], @config.config_files(@one_config_file)
end
should "return an array of the config files if given many config files" do
assert_equal %w[config/site.yml config/deploy.yml configuration.yml], @config.config_files(@multiple_files)
end
end
context "loading configuration" do context "loading configuration" do
setup do setup do
@path = File.join(Dir.pwd, '_config.yml') @path = File.join(Dir.pwd, '_config.yml')