Sha256: 1e6370316770aabd6f5f720a8fa7d35129384f1dc12f615d37f9ddaf69f9da82

Contents?: true

Size: 1.12 KB

Versions: 3

Compression:

Stored size: 1.12 KB

Contents

require 'spec_helper'

describe Tableficate::Filter::Base do
  before(:all) do
    @table = Tableficate::Table.new(nil, NobelPrizeWinner.limit(1), {}, {})
    @table.column(:first_name, header: 'Given Name')
    @first_name_filter = Tableficate::Filter::Base.new(@table, :first_name)
  end

  it 'should find the correct template type' do
    @first_name_filter.template.should == 'filters/base'
  end

  it 'should use the provided label or default to the column header' do
    @first_name_filter.label.should == 'Given Name'
    Tableficate::Filter::Base.new(@table, :first_name, label: 'First').label.should == 'First'
  end

  it 'should provide a field name' do
    @first_name_filter.field_name.should == "#{@table.as}[filter][first_name]"
  end

  it 'should provide a field value when given params or a blank value' do
    @first_name_filter.field_value({filter: {first_name: 'Aaron'}}).should == 'Aaron'
    @first_name_filter.field_value({}).should == ''
  end

  it 'should allow for filters that do not match a particular field' do
    Tableficate::Filter::Base.new(@table, :custom_field).label.should == 'Custom Field'
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tableficate-0.3.2 spec/filters/base_spec.rb
tableficate-0.3.1 spec/filters/base_spec.rb
tableficate-0.3.0 spec/filters/base_spec.rb