Sha256: bfffc9cded846bf5adf374ffa68752d90c717e6549c463c2b897940d089c9e8d

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

require_relative '../../../spec_helper'
require_relative '../factories/user_meeting'

describe UserMeeting do
  it 'create johns meeting' do
    expect do
      FactoryGirl.create(:johns_meeting)
    end.to change(UserMeeting, :count).by(1)
  end

  context 'Validation with scope' do
    before do
      FactoryGirl.create(:johns_meeting)
    end

    OVERLAP_TIME_RANGES.each do |description, time_range|
      it "is not valid if exists johns meeting which #{description}" do
        meeting = FactoryGirl.build(:johns_meeting, starts_at: time_range.first, ends_at: time_range.last)
        expect(UserMeeting.count).to eq 1
        expect(meeting).not_to be_valid
        expect(meeting.errors[:starts_at]).not_to be_empty
        expect(meeting.errors[:ends_at]).to be_empty
      end
    end

    OVERLAP_TIME_RANGES.each do |description, time_range|
      it "is valid if exists johns meeting which #{description}" do
        meeting = FactoryGirl.build(:peters_meeting, starts_at: time_range.first, ends_at: time_range.last)
        expect(meeting).to be_valid
        expect(meeting.errors[:starts_at]).to be_empty
        expect(meeting.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/user_meeting_spec.rb
validates_overlap-0.7.0 spec/dummy/spec/models/user_meeting_spec.rb