Sha256: 6fd392ce837f53c36e743ceb880e7135072e4802ae1cf12c2fd0811f18f46daf

Contents?: true

Size: 915 Bytes

Versions: 14

Compression:

Stored size: 915 Bytes

Contents

require 'spec_helper'

describe Coercer::Hash, '.to_date' do
  subject { object.to_date(hash) }

  let(:object) { described_class.new }

  context 'when time segments are missing' do
    let(:time_now) { Time.local(2011, 1, 1) }
    let(:hash)     { {}                     }

    before do
      Time.stub!(:now).and_return(time_now)  # freeze time
    end

    it { should be_instance_of(Date) }

    it 'uses the Time now to populate the segments' do
      should eql(Date.new(2011, 1, 1))
    end
  end

  context 'when time segments are integers' do
    let(:hash) { { :year => 2011, :month => 1, :day => 1 } }

    it { should be_instance_of(Date) }

    it { should eql(Date.new(2011, 1, 1)) }
  end

  context 'when time segments are strings' do
    let(:hash) { { :year => '2011', :month => '1', :day => '1' } }

    it { should be_instance_of(Date) }

    it { should eql(Date.new(2011, 1, 1)) }
  end
end

Version data entries

14 entries across 12 versions & 4 rubygems

Version Path
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
grape-extra_validators-2.0.0 vendor/bundle/ruby/2.6.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
grape-extra_validators-1.0.0 vendor/bundle/ruby/2.4.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/coercible-1.0.0/spec/unit/coercible/coercer/hash/to_date_spec.rb
coercible-1.0.0 spec/unit/coercible/coercer/hash/to_date_spec.rb
coercible-0.2.0 spec/unit/coercible/coercer/hash/to_date_spec.rb
coercible-0.1.0 spec/unit/coercible/coercer/hash/to_date_spec.rb
coercible-0.0.2 spec/unit/coercible/coercer/hash/to_date_spec.rb
coercible-0.0.1 spec/unit/coercible/coercer/hash/to_date_spec.rb