Sha256: 5d3693ffec98b58b56a51b23bc6891ee391f9870a7bda8379797fa08c09f3c0b

Contents?: true

Size: 1.45 KB

Versions: 11

Compression:

Stored size: 1.45 KB

Contents

RSpec.describe HTTParty::HashConversions do
  describe ".to_params" do
    it "creates a params string from a hash" do
      hash = {
        name: "bob",
        address: {
          street: '111 ruby ave.',
          city: 'ruby central',
          phones: ['111-111-1111', '222-222-2222']
        }
      }
      expect(HTTParty::HashConversions.to_params(hash)).to eq("name=bob&address[street]=111%20ruby%20ave.&address[city]=ruby%20central&address[phones][]=111-111-1111&address[phones][]=222-222-2222")
    end
  end

  describe ".normalize_param" do
    context "value is an array" do
      it "creates a params string" do
        expect(
          HTTParty::HashConversions.normalize_param(:people, ["Bob Jones", "Mike Smith"])
        ).to eq("people[]=Bob%20Jones&people[]=Mike%20Smith&")
      end
    end

    context "value is an empty array" do
      it "creates a params string" do
        expect(
          HTTParty::HashConversions.normalize_param(:people, [])
        ).to eq("people[]=&")
      end
    end

    context "value is hash" do
      it "creates a params string" do
        expect(
          HTTParty::HashConversions.normalize_param(:person, { name: "Bob Jones" })
        ).to eq("person[name]=Bob%20Jones&")
      end
    end

    context "value is a string" do
      it "creates a params string" do
        expect(
          HTTParty::HashConversions.normalize_param(:name, "Bob Jones")
        ).to eq("name=Bob%20Jones&")
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
httparty-0.16.1 spec/httparty/hash_conversions_spec.rb
httparty-0.16.0 spec/httparty/hash_conversions_spec.rb
httparty-0.15.7 spec/httparty/hash_conversions_spec.rb
httparty-0.15.6 spec/httparty/hash_conversions_spec.rb
httparty-0.15.5 spec/httparty/hash_conversions_spec.rb
httparty-0.15.4 spec/httparty/hash_conversions_spec.rb
httparty-0.15.3 spec/httparty/hash_conversions_spec.rb
httparty-0.15.2 spec/httparty/hash_conversions_spec.rb
httparty-0.15.1 spec/httparty/hash_conversions_spec.rb
httparty-0.15.0 spec/httparty/hash_conversions_spec.rb
httparty-0.14.0 spec/httparty/hash_conversions_spec.rb