|
151 | 151 | expect(Settings.size).to eq(2)
|
152 | 152 | end
|
153 | 153 |
|
| 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 | + |
154 | 190 |
|
155 | 191 |
|
156 | 192 | context "Nested Settings" do
|
|
0 commit comments