Skip to content

Commit 8e125c4

Browse files
committed
Fix tests
1 parent 0b347fe commit 8e125c4

File tree

2 files changed

+144
-13
lines changed

2 files changed

+144
-13
lines changed

lib/nvar/environment_variable.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def typecast_value
7676
end
7777

7878
def fetch_value(passthrough: false, default_value: nil)
79-
return default_value || name.to_s.force_encoding("UTF-8") if Nvar.env.test? && !passthrough
79+
return default_value || name.to_s if Nvar.env.test? && !passthrough
8080

8181
required ? ENV.fetch(name.to_s) : ENV[name.to_s]
8282
end

spec/nvar/environment_variable_spec.rb

Lines changed: 143 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,17 @@
2727

2828
let(:environment_variable) { described_class.new(**args) }
2929

30+
around do |example|
31+
Nvar.env.then do |old_env|
32+
Nvar.env = ActiveSupport::StringInquirer.new(nvar_env.to_s)
33+
example.run
34+
ensure
35+
Nvar.env = old_env
36+
end
37+
end
38+
39+
let(:nvar_env) { :development }
40+
3041
describe "#initialize" do
3142
subject(:initializer) { environment_variable }
3243

@@ -112,85 +123,205 @@
112123
context "when passthrough is false and a default value is provided" do
113124
let(:args) { base_args.merge(passthrough: false, default_value: "default_value") }
114125

115-
it { is_expected.to eq("default_value") }
126+
context "and the environment is development" do
127+
let(:nvar_env) { :development }
128+
129+
it { is_expected.to eq("passthrough_value") }
130+
end
131+
132+
context "and the environment is test" do
133+
let(:nvar_env) { :test }
134+
135+
it { is_expected.to eq("default_value") }
136+
end
116137
end
117138

118139
context "when passthrough is true and a default value is provided" do
119140
let(:args) { base_args.merge(passthrough: true, default_value: "default_value") }
120141

121-
it { is_expected.to eq("passthrough_value") }
142+
context "and the environment is development" do
143+
let(:nvar_env) { :development }
144+
145+
it { is_expected.to eq("passthrough_value") }
146+
end
147+
148+
context "and the environment is test" do
149+
let(:nvar_env) { :test }
150+
151+
it { is_expected.to eq("passthrough_value") }
152+
end
122153
end
123154

124155
context "when passthrough is false and a default value is not provided" do
125156
let(:args) { base_args.merge(passthrough: false, default_value: nil) }
126157

127-
it { is_expected.to eq(environment_variable.name) }
158+
context "and the environment is development" do
159+
let(:nvar_env) { :development }
160+
161+
it { is_expected.to eq("passthrough_value") }
162+
end
163+
164+
context "and the environment is test" do
165+
let(:nvar_env) { :test }
166+
167+
it { is_expected.to eq(environment_variable.name) }
168+
end
128169
end
129170

130171
context "when passthrough is true and a default value is not provided" do
131172
let(:args) { base_args.merge(passthrough: true, default_value: nil) }
132173

133-
it { is_expected.to eq("passthrough_value") }
174+
context "and the environment is development" do
175+
let(:nvar_env) { :development }
176+
177+
it { is_expected.to eq("passthrough_value") }
178+
end
179+
180+
context "and the environment is test" do
181+
let(:nvar_env) { :test }
182+
183+
it { is_expected.to eq("passthrough_value") }
184+
end
134185
end
135186

136187
context "when passthrough is unset in the environment and a default value is not provided" do
137188
let(:args) { base_args.except(:passthrough).merge(default_value: nil) }
138189

139-
it { is_expected.to eq(environment_variable.name) }
190+
context "and the environment is development" do
191+
let(:nvar_env) { :development }
192+
193+
it { is_expected.to eq("passthrough_value") }
194+
end
195+
196+
context "and the environment is test" do
197+
let(:nvar_env) { :test }
198+
199+
it { is_expected.to eq(environment_variable.name) }
200+
end
140201
end
141202

142203
context "when passthrough is unset in the environment and a default value is provided" do
143204
let(:args) { base_args.except(:passthrough).merge(default_value: "default_value") }
144205

145-
it { is_expected.to eq("default_value") }
206+
context "and the environment is development" do
207+
let(:nvar_env) { :development }
208+
209+
it { is_expected.to eq("passthrough_value") }
210+
end
211+
212+
context "and the environment is test" do
213+
let(:nvar_env) { :test }
214+
215+
it { is_expected.to eq("default_value") }
216+
end
146217
end
147218

148219
context "when passthrough is enabled through the environment and a default value is provided" do
149220
around { |example| ClimateControl.modify(NVAR_PASSTHROUGH: "SOME_OTHER_VAR,#{base_args[:name]}") { example.run } }
150221

151222
let(:args) { base_args.except(:passthrough).merge(default_value: "default_value") }
152223

153-
it { is_expected.to eq("passthrough_value") }
224+
context "and the environment is development" do
225+
let(:nvar_env) { :development }
226+
227+
it { is_expected.to eq("passthrough_value") }
228+
end
229+
230+
context "and the environment is test" do
231+
let(:nvar_env) { :test }
232+
233+
it { is_expected.to eq("passthrough_value") }
234+
end
154235
end
155236

156237
context "when passthrough is enabled through the environment and a default value is not provided" do
157238
around { |example| ClimateControl.modify(NVAR_PASSTHROUGH: "SOME_OTHER_VAR,#{base_args[:name]}") { example.run } }
158239

159240
let(:args) { base_args.except(:passthrough).merge(default_value: nil) }
160241

161-
it { is_expected.to eq("passthrough_value") }
242+
context "and the environment is development" do
243+
let(:nvar_env) { :development }
244+
245+
it { is_expected.to eq("passthrough_value") }
246+
end
247+
248+
context "and the environment is test" do
249+
let(:nvar_env) { :test }
250+
251+
it { is_expected.to eq("passthrough_value") }
252+
end
162253
end
163254

164255
context "when passthrough is enabled through the environment, but is overridden by the config" do
165256
around { |example| ClimateControl.modify(NVAR_PASSTHROUGH: "SOME_OTHER_VAR,#{base_args[:name]}") { example.run } }
166257

167258
let(:args) { base_args.merge(passthrough: false, default_value: nil) }
168259

169-
it { is_expected.to eq(environment_variable.name) }
260+
context "and the environment is development" do
261+
let(:nvar_env) { :development }
262+
263+
it { is_expected.to eq("passthrough_value") }
264+
end
265+
266+
context "and the environment is test" do
267+
let(:nvar_env) { :test }
268+
269+
it { is_expected.to eq(environment_variable.name) }
270+
end
170271
end
171272

172273
context "when passthrough is disabled through the environment and a default value is provided" do
173274
around { |example| ClimateControl.modify(NVAR_PASSTHROUGH: "SOME_OTHER_VAR") { example.run } }
174275

175276
let(:args) { base_args.except(:passthrough).merge(default_value: "default_value") }
176277

177-
it { is_expected.to eq("default_value") }
278+
context "and the environment is development" do
279+
let(:nvar_env) { :development }
280+
281+
it { is_expected.to eq("passthrough_value") }
282+
end
283+
284+
context "and the environment is test" do
285+
let(:nvar_env) { :test }
286+
287+
it { is_expected.to eq("default_value") }
288+
end
178289
end
179290

180291
context "when passthrough is disabled through the environment and a default value is not provided" do
181292
around { |example| ClimateControl.modify(NVAR_PASSTHROUGH: "false") { example.run } }
182293

183294
let(:args) { base_args.except(:passthrough).merge(default_value: nil) }
184295

185-
it { is_expected.to eq(environment_variable.name) }
296+
context "and the environment is development" do
297+
let(:nvar_env) { :development }
298+
299+
it { is_expected.to eq("passthrough_value") }
300+
end
301+
302+
context "and the environment is test" do
303+
let(:nvar_env) { :test }
304+
305+
it { is_expected.to eq(environment_variable.name) }
306+
end
186307
end
187308

188309
context "when passthrough is disabled through the environment, but is overridden by the config" do
189310
around { |example| ClimateControl.modify(NVAR_PASSTHROUGH: "SOME_OTHER_VAR") { example.run } }
190311

191312
let(:args) { base_args.merge(passthrough: true) }
192313

193-
it { is_expected.to eq("passthrough_value") }
314+
context "and the environment is development" do
315+
let(:nvar_env) { :development }
316+
317+
it { is_expected.to eq("passthrough_value") }
318+
end
319+
320+
context "and the environment is test" do
321+
let(:nvar_env) { :test }
322+
323+
it { is_expected.to eq("passthrough_value") }
324+
end
194325
end
195326
end
196327
end

0 commit comments

Comments
 (0)