# Licensed to Elasticsearch B.V. under one or more contributor # license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright # ownership. Elasticsearch B.V. licenses this file to you under # the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # frozen_string_literal: true require 'spec_helper' require_relative './../webmock_requires' describe Elastic::EnterpriseSearch::Utils do let(:subject) { Class.new { extend Elastic::EnterpriseSearch::Utils } } let(:symbolized_hash) do { title: 'This is the title', year: 1985, description: 'A generic description' } end let(:stringified_hash) do { 'title' => 'This is the title', 'year' => 1985, 'description' => 'A generic description' } end it 'stringifies keys in a hash' do expect(subject.stringify_keys(symbolized_hash)).to eq stringified_hash end it 'symbolizes keys in a hash' do expect(described_class.symbolize_keys(stringified_hash)).to eq symbolized_hash end end