Sha256: 13d8b1214fe11d56f40f8c3c2cdfa8b202b9c6095ca01054e118dc37b0d8595c

Contents?: true

Size: 1.02 KB

Versions: 8

Compression:

Stored size: 1.02 KB

Contents

require 'spec_helper'

describe Datagrid::Filters::EnumFilter do

  it "should support select option" do
    test_report do
      scope {Entry}
      filter(:group_id, :enum, :select =>  [1,2] )
    end.class.filter_by_name(:group_id).select.should == [1,2]
  end

  it "should support select option as proc" do
    test_report do
      scope {Entry}
      filter(:group_id, :enum, :select => proc { [1,2] })
    end.class.filter_by_name(:group_id).select.should == [1,2]
  end

  it "should support select option as proc with instace input" do
    klass = test_report do
              scope {Entry}
              filter(:group_id, :enum, :select => proc { |obj| obj.object_id })
            end.class
    instance = klass.new
    klass.filter_by_name(:group_id).select(instance).should == instance.object_id
  end
  
  it "should initialize select option only on instanciation" do
    class ReportWithLazySelect
      include Datagrid
      scope {Entry}
      filter(:group_id, :enum, :select => proc { raise 'hello' })
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
datagrid-0.8.4 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.8.3 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.8.2 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.8.1 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.8.0 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.7.1 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.7.0 spec/datagrid/filters/enum_filter_spec.rb
datagrid-0.6.4 spec/datagrid/filters/enum_filter_spec.rb