spec/tunable/setters_spec.rb in tunable-0.0.4 vs spec/tunable/setters_spec.rb in tunable-0.0.5

- old
+ new

@@ -1,6 +1,49 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +describe 'basic setters' do + + before :all do + load_main_settings! + @model = TunableModel.create(name: "Yay, I'm settable!") + end + + describe '#set_setting' do + + it 'stores new setting, without saving' do + @model.set_setting(:foo, :bar, 123) + expect(@model.get_setting(:foo, :bar)).to eq(nil) + expect(@model.settings_hash[:foo]).to eq(nil) + @model.save + @model.reload + expect(@model.get_setting(:foo, :bar)).to eq(123) + expect(@model.settings_hash[:foo]).to eq({ bar: 123 }) + end + + end + + describe '#remove_setting' do + + it 'stores new setting' do + @model.set_setting(:foo, :bar, 123) + @model.set_setting(:foo, :test, false) + @model.save + @model.reload + @model.remove_setting(:foo, :bar) + expect(@model.get_setting(:foo, :bar)).to eq(123) + @model.save + @model.reload + expect(@model.settings_hash[:foo]).to eq({ test: false }) + @model.remove_setting(:foo, :test) + @model.save + @model.reload + expect(@model.settings_hash[:foo]).to eq(nil) + end + + end + +end + describe 'main_setting setters' do before :all do load_main_settings! @model = TunableModel.create(name: "Yay, I'm settable!")