Sha256: d1920253e43e3fb19cef993e9b3deafa79b831f21dcd0c35b2fdb9084e12780c

Contents?: true

Size: 1.49 KB

Versions: 8

Compression:

Stored size: 1.49 KB

Contents

require "spec_helper"
describe Timely::DateGroup do
  before do
    @date_group = Timely::DateGroup.new(
      :start_date => '2000-01-01', :end_date => '2000-01-03', :weekdays => %w(1 1 1 1 1 1 1)
    )
  end

  it 'should detect overlaps' do
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2000-01-01'.to_date, '2000-01-01'.to_date))).to be true
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2000-01-01'.to_date, '2000-01-06'.to_date))).to be true
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2001-01-01'.to_date, '2001-01-01'.to_date))).to be false
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('1999-12-29'.to_date, '2000-01-05'.to_date))).to be true 
  end

  it "should detect overlaps when certain weekdays aren't selected" do
    @date_group = Timely::DateGroup.create!(
      :start_date => '2012-01-01', :end_date => '2012-01-07', :weekdays => %w(1 0 1 0 1 0 1)
    )
    # Note: 2012-01-1 is a Sunday
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2012-01-01'.to_date, '2012-01-01'.to_date))).to be true
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2012-01-02'.to_date, '2012-01-02'.to_date))).to be false
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2012-01-03'.to_date, '2012-01-03'.to_date))).to be true
    expect(@date_group.applicable_for_duration?(Timely::DateRange.new('2012-01-01'.to_date, '2012-01-03'.to_date))).to be true
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
timely-0.4.2 spec/date_group_spec.rb
timely-0.4.1 spec/date_group_spec.rb
timely-0.4.0 spec/date_group_spec.rb
timely-0.3.4 spec/date_group_spec.rb
timely-0.3.2 spec/date_group_spec.rb
timely-0.3.1 spec/date_group_spec.rb
timely-0.3.0 spec/date_group_spec.rb
timely-0.1.0 spec/date_group_spec.rb