Sha256: 9ec9514b51ee8d70a61fabe3b7927465b5eb888f27be600b574714106747267c

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

require_relative '../../../spec_helper'
require_relative '../factories/shift'

describe Meeting do
  context 'Validation' do
    it 'create meeting' do
      expect do
        FactoryGirl.create(:shift)
      end.to change(Shift, :count).by(1)
    end

    context 'validation with shift configuration' do
      before do
        FactoryGirl.create(:shift)
      end

      it 'is not valid if exists shift within wider range' do
        shift = FactoryGirl.build(:shift, starts_at: '2011-01-09'.to_date, ends_at: '2011-01-11'.to_date)
        expect(shift).not_to be_valid
        expect(shift.errors[:starts_at]).not_to be_empty
        expect(shift.errors[:ends_at]).to be_empty

        shift = FactoryGirl.build(:shift, starts_at: '2011-01-01'.to_date, ends_at: '2011-01-04'.to_date)
        expect(shift).not_to be_valid
        expect(shift.errors[:starts_at]).not_to be_empty
        expect(shift.errors[:ends_at]).to be_empty
      end

      it ' validate object which has not got overlap' do
        shift = FactoryGirl.build(:shift, starts_at: '2011-01-10'.to_date, ends_at: '2011-01-11'.to_date)
        expect(shift).to be_valid
        expect(shift.errors[:starts_at]).to be_empty
        expect(shift.errors[:ends_at]).to be_empty

        shift = FactoryGirl.build(:shift, starts_at: '2011-01-01'.to_date, ends_at: '2011-01-02'.to_date)
        expect(shift).to be_valid
        expect(shift.errors[:starts_at]).to be_empty
        expect(shift.errors[:ends_at]).to be_empty
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
validates_overlap-0.8.0 spec/dummy/spec/models/shift_spec.rb
validates_overlap-0.7.0 spec/dummy/spec/models/shift_spec.rb