Sha256: b922505ebfbbe136d49027261ff5c60658c9cef4a239145686ef0e698bb7ab82

Contents?: true

Size: 1.74 KB

Versions: 2

Compression:

Stored size: 1.74 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe 'Settings' do
  it "should works as RailsSettings" do
    Settings.destroy_all!

    email = "my@mail.ru"
    Settings.email = email
    Settings.email.should == email
  end

  it '#get should return new setting when setting does not exist' do
    t = Settings.get(:test)
    t.class.name.should eq 'RailsAdminSettings::Setting'
    t.persisted?.should eq true
    t.value.should eq ''
  end

  it '#name should return empty string when setting does not exist' do
    Settings.test.should eq ''
    Settings['test'].value.should eq ''
  end

  it "should save default" do
    Settings.destroy_all!

    email = "my@mail.ru"
    email2 = "my2@mail.ru"
    Settings.save_default(:email, email)
    Settings.email.should == email
    Settings.email = email2
    Settings.email.should == email2
    Settings.save_default(:email, email)
    Settings.email.should == email2
  end

  it 'should properly unload' do
    Settings.load!
    Settings.loaded.should eq true
    Settings.unload!
    Settings.loaded.should eq false
  end

  it 'should properly store settings to DB' do
    Settings.unload!
    Settings.loaded.should eq false
    Settings.temp = '123'
    Settings.loaded.should eq true
    Settings.unload!
    Settings.loaded.should eq false
    Settings.temp.should eq '123'
    Settings.loaded.should eq true
  end

  it 'should support yaml type' do
    Settings.tdata(type: 'yaml')
    Settings.tdata = ['one', 'two', 'three']
    YAML.safe_load(Settings.get(:tdata).raw).should eq ['one', 'two', 'three']
    Settings.tdata.should eq ['one', 'two', 'three']
  end

  it '#enabled? sets defaults' do
    Settings.enabled?(:phone, type: 'phone').should eq true
    Settings.get(:phone).type.should eq 'phone'
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails_admin_settings-0.6.1 spec/settings_spec.rb
rails_admin_settings-0.6.0 spec/settings_spec.rb