Sha256: 80447207fd006da2655c1a1090d4807d5ce07a3b598e2e10112b8d8ec167624d

Contents?: true

Size: 1.96 KB

Versions: 2

Compression:

Stored size: 1.96 KB

Contents

require 'timespan/mongoid/spec_helper'

describe TimeSpan do
	subject { account }

  def tomorrow
    Date.today + 1.day
  end

  let(:from) { Chronic.parse("1 day ago") }
  let(:to)   { Time.now }

  context '2 days duration using factory method' do
    let(:account) do 
      Account.create_it! '2 days'
    end

    describe '.start_date' do
      it 'should default to today' do
        DateTime.parse(subject.period.start_date.to_s).strftime('%d %b %Y').should == Date.today.strftime('%d %b %Y')
      end
    end
  end

  context '2 days duration using Timespan' do
    let(:account) do 
      Account.create :period => Timespan.new(:duration => 2.days)
    end

    describe '.start_date' do
      it 'should default to today' do
        DateTime.parse(subject.period.start_date.to_s).strftime('%d %b %Y').should == Date.today.strftime('%d %b %Y')
      end
    end
  end

  context '2 days using integer via ActiveSupport::Duration' do
    let(:account) do 
      Account.create :period => Timespan.new(2.days)
    end

    describe '.start_date' do
      it 'should default to today' do
        DateTime.parse(subject.period.start_date.to_s).strftime('%d %b %Y').should == Date.today.strftime('%d %b %Y')
      end
    end
  end

  context 'Setters and delegates' do
    let(:account) do 
      Account.create_it! 2.days
    end

    describe 'set new start_date' do
      before :each do
        subject.period_start = tomorrow
        subject.period_end = tomorrow + 5.days

        subject.end_date = tomorrow + 3.days
      end

      specify do
        Date.parse(subject.time_period.end_date.to_s).should == tomorrow + 3.days
      end

      specify do
        subject.period.should be_a Timespan
      end

      specify do
        subject.start_date.should == subject.period.start_date
      end

      specify do
        subject.end_date.should == subject.period.end_date
      end

      specify do
        Date.parse(subject.start_date.to_s).should == tomorrow
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
timespan-0.4.5 spec/timespan/mongoid/mongoid_timespan_spec.rb
timespan-0.4.4 spec/timespan/mongoid/mongoid_timespan_spec.rb