From 3b3a4e319eb58a0609ac2f2c964537c5ef56bd41 Mon Sep 17 00:00:00 2001 From: Stuart Johnson Date: Wed, 8 Nov 2017 14:50:00 -0500 Subject: [PATCH] final pass on specs [#152641470] --- spec/models/protocol/valid?_spec.rb | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/spec/models/protocol/valid?_spec.rb b/spec/models/protocol/valid?_spec.rb index 92c7293043..94d962d616 100644 --- a/spec/models/protocol/valid?_spec.rb +++ b/spec/models/protocol/valid?_spec.rb @@ -30,10 +30,6 @@ build_study_type_questions() build_study_type_answers() - before :each do - Setting.find_by_key("use_indirect_cost").update_attribute(:value, true) - end - describe 'should validate funding source for projects' do it 'should raise an exception if funding source is nil' do project = Project.create(attributes_for(:protocol)) @@ -42,6 +38,19 @@ end end - it { is_expected.to validate_numericality_of(:indirect_cost_rate).is_greater_than_or_equal_to(1) } - it { is_expected.to validate_numericality_of(:indirect_cost_rate).is_less_than_or_equal_to(1000) } + context 'indirect cost is turned off' do + it 'should not validate indirect cost' do + is_expected.not_to validate_numericality_of(:indirect_cost_rate).is_greater_than_or_equal_to(1) + is_expected.not_to validate_numericality_of(:indirect_cost_rate).is_less_than_or_equal_to(1000) + end + end + + context 'indirect cost is turned on' do + stub_config("use_indirect_cost", true) + + it 'should validate indirect cost' do + is_expected.to validate_numericality_of(:indirect_cost_rate).is_greater_than_or_equal_to(1) + is_expected.to validate_numericality_of(:indirect_cost_rate).is_less_than_or_equal_to(1000) + end + end end