blob: 5e81108e1740a761484a7fb7cafb454fa19c9004 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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(:purchase_window, referential: referential,date_ranges: [Date.today..Date.today])).to 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
|