Sha256: fd6dacc9786f2d26072b806044d7b0593a0246b7de7dda094714ad882e81e174

Contents?: true

Size: 1.24 KB

Versions: 33

Compression:

Stored size: 1.24 KB

Contents

require 'pact_broker/hash_refinements'

module PactBroker
  describe HashRefinements do
    using HashRefinements

    let(:a) { { a: 1, b: { c: 3 }, d: 5, e: nil } }
    let(:b) { { a: 2, b: { c: 4 } } }
    let(:expected) { { a: 2, b: { c: 4 }, d: 5, e: nil } }

    it "merges" do
      expect(a.deep_merge(b)).to eq expected
    end

    describe "camelcase_keys" do
      let(:hash_1) do
        {
          "foo_bar" => {
            :meep_moop => "blahBlah",
            "beepBoop" => ""
          }
        }
      end

      let(:expected) do
        {
          "fooBar" => {
            :meepMoop => "blahBlah",
            "beepBoop" => ""
          }
        }
      end

      it "camel cases the keys" do
        expect(hash_1.camelcase_keys).to eq expected
      end
    end

    describe "snakecase_keys" do
      let(:hash_1) do
        {
          "fooBar" => {
            :meepMoop => "blahBlah",
            "already_snake" => ""
          }
        }
      end

      let(:expected) do
        {
          "foo_bar" => {
            :meep_moop => "blahBlah",
            "already_snake" => ""
          }
        }
      end

      it "snake cases the keys" do
        expect(hash_1.snakecase_keys).to eq expected
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
pact_broker-2.79.1 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.79.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.78.1 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.78.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.77.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.76.2 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.76.1 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.76.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.75.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.74.1 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.74.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.73.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.72.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.71.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.70.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.69.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.68.1 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.68.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.67.0 spec/lib/pact_broker/hash_refinements_spec.rb
pact_broker-2.66.0 spec/lib/pact_broker/hash_refinements_spec.rb