Sha256: df5438fc29c4866e2c7eecb0881e08a96e86dca205bf95fea2678c77c5433746

Contents?: true

Size: 1.51 KB

Versions: 1

Compression:

Stored size: 1.51 KB

Contents

require 'active_admin/view_helpers/fields_for'

describe ActiveAdmin::ViewHelpers::FormHelper, ".fields_for" do
  include ActiveAdmin::ViewHelpers::FormHelper

  it "should skip :action, :controller and :commit" do
    fields_for_params(
      :scope => "All", :action => "index", :controller => "PostController", :commit => "Filter", :utf8 => "Yes!").
      should == [ { :scope => "All" } ]
  end

  it "should skip the except" do
    fields_for_params({:scope => "All", :name => "Greg"}, :except => :name).
      should == [ { :scope => "All" } ]
  end

  it "should allow an array for the except" do
    fields_for_params({:scope => "All", :name => "Greg", :age => "12"}, :except => [:name, :age]).
      should == [ { :scope => "All" } ]
  end

  it "should work with hashes" do
    params = fields_for_params(:filters => { :name => "John", :age => "12" })

    params.size.should == 2
    params.should include({"filters[name]" => "John" })
    params.should include({ "filters[age]" => "12" })
  end

  it "should work with nested hashes" do
    fields_for_params(:filters => { :user => { :name => "John" }}).
      should == [ { "filters[user][name]" => "John" } ]
  end

  it "should work with arrays" do
    fields_for_params(:people => ["greg", "emily", "philippe"]).
      should == [ { "people[]" => "greg" },
                  { "people[]" => "emily" },
                  { "people[]" => "philippe" } ]
  end

  it "should work with symbols" do
    fields_for_params(:filter => :id).
      should == [ { :filter => "id" } ]
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activeadmin-0.5.1 spec/unit/view_helpers/fields_for_spec.rb