Sha256: b141f56c5267fffa82ec896a70cf9d21ca6a07dba7bf6e8d8503eb075ef861a0

Contents?: true

Size: 732 Bytes

Versions: 5

Compression:

Stored size: 732 Bytes

Contents

require 'spec_helper'

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

  let(:object) { described_class }

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

    before do
      now = time_now
      Time.stub!(:now).and_return(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 populated' 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

5 entries across 5 versions & 1 rubygems

Version Path
virtus-0.0.10 spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb
virtus-0.0.9 spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb
virtus-0.0.8 spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb
virtus-0.0.7 spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb
virtus-0.0.6 spec/unit/virtus/coercion/hash/class_methods/to_date_spec.rb