Sha256: e82ddcf5aee368b1fae1e3f3f2eb5e886c8fa4596744498c8f1283223f65a5a6
Contents?: true
Size: 1.94 KB
Versions: 6
Compression:
Stored size: 1.94 KB
Contents
require 'spec_helper' RSpec.describe Base::Normalization do describe '::deep_hash_normalize' do context 'given arg is not a hash' do let(:arg) { [] } it 'returns arg' do expect(Base::Normalization.recursive_hash_normalize_keys(arg)).to eq [] end end context 'given arg is a hash' do let(:arg) { { 'a' => 1, 'b' => 2, 'c' => 3 } } it 'calles Base::Normalization.deep_hash_normalize' do allow(Base::Normalization).to receive(:deep_hash_normalize).with(arg) do { a: 1, b: 2, c: 3 } end Base::Normalization.recursive_hash_normalize_keys(arg) end it 'returns given hash with symbol keys' do expect(Base::Normalization.recursive_hash_normalize_keys(arg)).to eq( a: 1, b: 2, c: 3) end end end describe '::recursive_hash_normalize_keys' do context 'given arg is a shallow hash' do context 'given hash with string keys' do let(:arg) { { 'a' => 1, 'b' => 2, 'c' => 3 } } it 'returns given hash with symbol keys' do expect(Base::Normalization.deep_hash_normalize(arg)).to eq( a: 1, b: 2, c: 3) end end context 'given hash with symbol keys' do let(:arg) { { a: 1, b: 2, c: 3 } } it 'returns given hash with symbol keys' do expect(Base::Normalization.deep_hash_normalize(arg)).to eq( a: 1, b: 2, c: 3) end end end context 'given arg is a deep hash' do let(:arg) do { 'a' => 1, b: { 'c' => [2, 3, 4], 'd' => { 'e' => 'hello' } } } end it 'returns given hash with symbol keys' do expect(Base::Normalization.deep_hash_normalize(arg)).to eq( a: 1, b: { c: [2, 3, 4], d: { e: 'hello' } }) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems