Skip to content

Commit 6a02452

Browse files
committed
Add tests
1 parent 7f4dab4 commit 6a02452

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

spec/config_spec.rb

+36
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,42 @@
151151
expect(Settings.size).to eq(2)
152152
end
153153

154+
describe 'load_and_set_settings in the Rails context' do
155+
if defined?(Rails)
156+
let(:config_name) { Rails.root.join('config', 'initializers', 'config.rb') }
157+
let(:default_settings_file_name) { Rails.root.join('config', 'settings.yml') }
158+
let(:custom_settings_file_name) { Rails.root.join('config', 'settings_custom.yml') }
159+
160+
before do
161+
File.write(default_settings_file_name, "default: default_value")
162+
File.write(custom_settings_file_name, "custom: custom_value")
163+
end
164+
165+
after do
166+
File.delete(config_name) if File.exist?(config_name)
167+
File.delete(default_settings_file_name) if File.exist?(default_settings_file_name)
168+
File.delete(custom_settings_file_name) if File.exist?(custom_settings_file_name)
169+
end
170+
171+
it "should read value only from default settings without config.rb" do
172+
values = `#{Rails.root.join('bin', 'rails')} runner 'print "\#{Settings.default}|\#{Settings.custom}"'`
173+
expect(values).to eq("default_value|")
174+
end
175+
176+
it "should read value only from default settings without use of load_and_set_settings" do
177+
File.write(config_name, "Config.setup { |config| }")
178+
values = `#{Rails.root.join('bin', 'rails')} runner 'print "\#{Settings.default}|\#{Settings.custom}"'`
179+
expect(values).to eq("default_value|")
180+
end
181+
182+
it "should read value only from custom settings with use of load_and_set_settings" do
183+
File.write(config_name, "Config.setup { |config| config.load_and_set_settings(['#{custom_settings_file_name}']) }")
184+
values = `#{Rails.root.join('bin', 'rails')} runner 'print "\#{Settings.default}|\#{Settings.custom}"'`
185+
expect(values).to eq("|custom_value")
186+
end
187+
end
188+
end
189+
154190

155191

156192
context "Nested Settings" do

0 commit comments

Comments
 (0)