Sha256: 7c9a3373267590fc807df5530030cb294ca411583b3c5403e735501c37febb3f

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

require 'rails_helper'

module EasySettings
  RSpec.describe ParamsWrapper, clear_cache: true do

    let(:project) { FactoryBot.create(:project) }

    describe 'saving values' do
      it 'create easy_setting' do
        presenter = EasySettings::ParamsWrapper.from_params({'key' => 'value', 'key2' => 'value2'})
        expect{ presenter.save }.to change(EasySetting, :count).by(2)
        expect( EasySetting.find_by(name: 'key').value ).to eq('value')
        expect( EasySetting.value('key') ).to eq('value')
      end

      it 'create project setting' do
        presenter = EasySettings::ParamsWrapper.from_params({'key' => 'value', 'key2' => 'value2'}, project: project)
        expect{ presenter.save }.to change(EasySetting, :count).by(2)
        expect( EasySetting.where(project_id: project.id).count ).to eq(2)
        expect( EasySetting.value('key') ).to eq(nil)
        expect( EasySetting.value('key', project) ).to eq('value')
      end

      it 'format value' do
        EasySetting.map.boolean_keys(:key, :key2)
        presenter = EasySettings::ParamsWrapper.from_params({'key' => '1', 'key2' => '0'})
        presenter.save
        expect(EasySetting.value('key')).to be true
        expect(EasySetting.value('key2')).to be false
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
redmine_extensions-0.3.00 spec/presenters/easy_settings/params_wrapper_spec.rb
redmine_extensions-0.2.16 spec/presenters/easy_settings/params_wrapper_spec.rb
redmine_extensions-0.2.14 spec/presenters/easy_settings/params_wrapper_spec.rb
redmine_extensions-0.2.13 spec/presenters/easy_settings/params_wrapper_spec.rb