Sha256: 1960f1d919b4ee33ec39a00623c08283c743428c2fd25999cdbdb3f030e8c6af

Contents?: true

Size: 1.84 KB

Versions: 6

Compression:

Stored size: 1.84 KB

Contents

require 'spec_helper'

module Ransack
  describe Configuration do
    it 'yields Ransack on configure' do
      Ransack.configure do |config|
        config.should eq Ransack
      end
    end

    it 'adds predicates' do
      Ransack.configure do |config|
        config.add_predicate :test_predicate
      end

      Ransack.predicates.should have_key 'test_predicate'
      Ransack.predicates.should have_key 'test_predicate_any'
      Ransack.predicates.should have_key 'test_predicate_all'
    end

    it 'avoids creating compound predicates if :compounds => false' do
      Ransack.configure do |config|
        config.add_predicate :test_predicate_without_compound, :compounds => false
      end

      Ransack.predicates.should have_key 'test_predicate_without_compound'
      Ransack.predicates.should_not have_key 'test_predicate_without_compound_any'
      Ransack.predicates.should_not have_key 'test_predicate_without_compound_all'
    end

    it 'should have default value for search key' do
      Ransack.options[:search_key].should eq :q
    end

    it 'changes default search key parameter' do
      # store original state so we can restore it later
      before = Ransack.options.clone

      Ransack.configure do |config|
        config.search_key = :query
      end

      Ransack.options[:search_key].should eq :query

      # restore original state so we don't break other tests
      Ransack.options = before
    end

    it 'adds predicates that take arrays, overriding compounds' do
      Ransack.configure do |config|
        config.add_predicate :test_array_predicate, :wants_array => true, :compounds => true
      end

      Ransack.predicates['test_array_predicate'].wants_array.should eq true
      Ransack.predicates.should_not have_key 'test_array_predicate_any'
      Ransack.predicates.should_not have_key 'test_array_predicate_all'
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
ransack-1.1.0 spec/ransack/configuration_spec.rb
ransack-1.0.0 spec/ransack/configuration_spec.rb
ransack-0.7.2 spec/ransack/configuration_spec.rb
ransack-0.7.1 spec/ransack/configuration_spec.rb
ransack_ffcrm-0.7.1 spec/ransack/configuration_spec.rb
ransack-0.7.0 spec/ransack/configuration_spec.rb