spec/config_spec.rb in anyway_config-1.1.2 vs spec/config_spec.rb in anyway_config-1.1.3
- old
+ new
@@ -52,10 +52,15 @@
it "load config from YAML" do
expect(conf.host).to eq "test.host"
end
+ it "sets overrides after loading YAML" do
+ config = CoolConfig.new(overrides: { host: 'overrided.host' })
+ expect(config.host).to eq "overrided.host"
+ end
+
if Rails.application.respond_to?(:secrets)
it "load config from secrets" do
expect(conf.user[:name]).to eq "test"
end
else
@@ -77,10 +82,21 @@
it "handle ENV in YML thru ERB" do
ENV['ANYWAY_SECRET_PASSWORD'] = 'my_pass'
expect(conf.user[:password]).to eq 'my_pass'
end
+
+ it "overrides loaded value by explicit" do
+ ENV['ANYWAY_SECRET_PASSWORD'] = 'my_pass'
+
+ config = CoolConfig.new(
+ overrides: {
+ user: { password: 'explicit_password' }
+ }
+ )
+ expect(config.user[:password]).to eq "explicit_password"
+ end
end
describe "clear" do
let(:conf_cleared) { conf.clear }
@@ -116,21 +132,27 @@
ENV['MYAPP_NAME'] = 'my_app'
Anyway.env.clear
data = Anyway::Config.for(:my_app)
expect(data[:test]).to eq 1
expect(data[:name]).to eq 'my_app'
- if Rails.application.respond_to?(:secrets)
- expect(data[:secret]).to eq 'my_secret'
- end
+ expect(data[:secret]).to eq 'my_secret' if Rails.application.respond_to?(:secrets)
end
end
context "config without defaults" do
let(:conf) { SmallConfig.new }
it "works" do
expect(conf.meta).to be_nil
expect(conf.data).to be_nil
+ end
+ end
+
+ context "config with initial hash values" do
+ let(:conf) { SmallConfig.new(overrides: { 'meta': 'dummy' }) }
+
+ it "works" do
+ expect(conf.meta).to eq 'dummy'
end
end
context "when name is missing" do
let(:config) do