Sha256: 9409e24dd1f97b890e1679cc2ab89cf72a8cd6393fc762f269c5700d37334f76

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require 'spec_helper'

describe RailsAdmin::Config::HasFields do

  it 'shows hidden fields when added through the DSL' do
    expect(RailsAdmin.config(Team).fields.detect { |f| f.name == :division_id }).not_to be_visible

    RailsAdmin.config do |config|
      config.model Team do
        field :division_id
      end
    end

    expect(RailsAdmin.config(Team).fields.detect { |f| f.name == :division_id }).to be_visible
  end

  it 'does not set visibility for fields with bindings' do
    RailsAdmin.config do |config|
      config.model Team do
        field :division do
          visible do
            bindings[:controller].current_user.email == 'test@email.com'
          end
        end
      end
    end
    expect { RailsAdmin.config(Team).fields.detect { |f| f.name == :division } }.not_to raise_error
    expect { RailsAdmin.config(Team).fields.detect { |f| f.name == :division }.visible? }.to raise_error("undefined method `[]' for nil:NilClass")
  end

  it 'assigns properties to new one on overriding existing field' do
    RailsAdmin.config do |config|
      config.model Team do
        field :players, :has_and_belongs_to_many_association
      end
    end
    expect(RailsAdmin.config(Team).fields.detect { |f| f.name == :players }.properties).not_to be_nil
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails_admin-0.6.4 spec/rails_admin/config/has_fields_spec.rb
rails_admin-0.6.3 spec/rails_admin/config/has_fields_spec.rb