Sha256: b55a4199321d539d3305360233beeff0fa9807eeac6f06ee3116177a4f2039c0

Contents?: true

Size: 1.28 KB

Versions: 5

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

RSpec.describe Blacklight::HashAsHiddenFieldsHelperBehavior do
  around { |test| Deprecation.silence(described_class) { test.call } }

  let(:params) do
    { q: "query",
      search_field: "search_field",
      per_page: 10,
      page: 5,
      extra_arbitrary_key: "arbitrary_value",
      f: { field1: %w[a b], field2: ["z"] } }
  end
  let(:generated) { helper.render_hash_as_hidden_fields(params) }

  it "converts a hash with nested complex data to Rails-style hidden form fields" do
    expect(generated).to have_selector("input[type='hidden'][name='q'][value='query']", visible: false)
    expect(generated).to have_selector("input[type='hidden'][name='per_page'][value='10']", visible: false)
    expect(generated).to have_selector("input[type='hidden'][name='page'][value='5']", visible: false)
    expect(generated).to have_selector("input[type='hidden'][name='extra_arbitrary_key'][value='arbitrary_value']", visible: false)
    expect(generated).to have_selector("input[type='hidden'][name='f[field2][]'][value='z']", visible: false)
    expect(generated).to have_selector("input[type='hidden'][name='f[field1][]'][value='a']", visible: false)
    expect(generated).to have_selector("input[type='hidden'][name='f[field1][]'][value='b']", visible: false)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
blacklight-7.13.2 spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb
blacklight-7.13.1 spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb
blacklight-7.13.0 spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb
blacklight-7.12.1 spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb
blacklight-7.12.0 spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb