diff options
Diffstat (limited to 'spec/models')
| -rw-r--r-- | spec/models/business_calendar_spec.rb | 5 | ||||
| -rw-r--r-- | spec/models/chouette/purchase_window_spec.rb | 27 | 
2 files changed, 27 insertions, 5 deletions
| diff --git a/spec/models/business_calendar_spec.rb b/spec/models/business_calendar_spec.rb deleted file mode 100644 index 29f67d49f..000000000 --- a/spec/models/business_calendar_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'rails_helper' - -RSpec.describe BusinessCalendar, type: :model do -  pending "add some examples to (or delete) #{__FILE__}" -end diff --git a/spec/models/chouette/purchase_window_spec.rb b/spec/models/chouette/purchase_window_spec.rb new file mode 100644 index 000000000..702a44eeb --- /dev/null +++ b/spec/models/chouette/purchase_window_spec.rb @@ -0,0 +1,27 @@ +RSpec.describe Chouette::PurchaseWindow, :type => :model do +  let(:referential) {create(:referential)} +  subject  { create(:purchase_window, referential: referential) } + +  it { should belong_to(:referential) } +  it { is_expected.to validate_presence_of(:name) } + +  describe 'validations' do +    it 'validates and date_ranges do not overlap' do +      expect(build(:purchase_window, referential: referential,date_ranges: [Date.today..Date.today + 10.day, Date.yesterday..Date.tomorrow])).to_not be_valid +      # expect(build(periods: [Date.today..Date.today + 10.day, Date.yesterday..Date.tomorrow ])).to_not be_valid +    end +  end + +  describe 'before_validation' do +    let(:purchase_window) { build(:purchase_window, referential: referential, date_ranges: []) } + +    it 'shoud fill date_ranges with date ranges' do +      expected_range = Date.today..Date.tomorrow +      purchase_window.date_ranges << expected_range +      purchase_window.valid? + +      expect(purchase_window.date_ranges.map { |period| period.begin..period.end }).to eq([expected_range]) +    end +  end + +end | 
