Sha256: 30c7cc63f2e487ff4f32689aa07b103750c2c0e6364679318c95cf70e040d3f0

Contents?: true

Size: 1.13 KB

Versions: 56

Compression:

Stored size: 1.13 KB

Contents

require 'rails_helper'

RSpec.describe EasySetting, type: :model do

  let(:project) { FactoryGirl.create(:project, name: 'My project') }
  let!(:easy_setting) { EasySetting.create(name: 'my_setting', value: 'my_value', project_id: project.id) }
  let!(:easy_setting_global) { EasySetting.create(name: 'my_setting', value: 'my_value_global') }

  # cleanup since easy_seting is persistent and
  # is not deleted from db after tests are run
  after :each do
    [easy_setting, easy_setting_global].each &:destroy
  end

  it 'creates a setting for a project' do
    expect( easy_setting ).to be_persisted
  end

  it 'updates cache when changed' do
    new_value = 'my_new_value'
    easy_setting_global.value = new_value
    easy_setting_global.save

    assert_equal new_value, EasySetting.value('my_setting')
  end

  it 'invalidates the cache when deleted' do
    easy_setting.destroy
    easy_setting_global.destroy

    assert_nil EasySetting.value('my_setting')
  end

  it 'fallbacks to global setting when project specific not present' do
    easy_setting.destroy

    assert_equal easy_setting_global.value, EasySetting.value('my_setting')
  end

end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
redmine_extensions-0.2.8 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.7 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.6 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.5 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.4 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.3 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.2 spec/models/easy_setting_spec.rb
redmine_extensions-0.2.0 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.27 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.26 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.25 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.24 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.23 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.21 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.20 spec/models/easy_setting_spec.rb
redmine_extensions-0.0.39 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.19 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.18 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.17 spec/models/easy_setting_spec.rb
redmine_extensions-0.1.16 spec/models/easy_setting_spec.rb