Skip to content

Instantly share code, notes, and snippets.

@piperniehaus
Created March 18, 2015 16:35
Show Gist options
  • Save piperniehaus/dd6094cfe2252d0020d9 to your computer and use it in GitHub Desktop.
Save piperniehaus/dd6094cfe2252d0020d9 to your computer and use it in GitHub Desktop.
require 'rails_helper'
describe Week do
# it 'has a valid factory' do
# expect(create(:week)).to be_valid
# end
it 'is a Week' do
week = Week.new({year: 2015, month: 5, week: 1, start_date: Date.new(2015,5,4)})
expect(week).to be_valid
end
it 'is invalid without a start date' do
week = Week.new({year: 2015, month: 5, week: 1})
expect(week).to_not be_valid
end
it 'is invalid without a year' do
week = Week.new({month: 5, week: 1, start_date: Date.new(2015,5,4)})
expect(week).to_not be_valid
end
it 'is invalid without a month' do
week = Week.new({year: 2015, week: 1, start_date: Date.new(2015,5,4)})
expect(week).to_not be_valid
end
it 'is invalid without a week' do
week = Week.new({year: 2015, month: 5, start_date: Date.new(2015,5,4)})
expect(week).to_not be_valid
end
it 'is invalid if there is already a record with the same year, month and week' do
Week.create({year: 2015, month: 5, week: 1, start_date: Date.new(2015,5,4)})
week2 = Week.new({year: 2015, month: 5, week: 1, start_date: Date.new(2015,5,3)})
expect(week2).to_not be_valid
end
it 'is invalid if there is another record with the same start date' do
Week.create({year: 2015, month: 5, week: 1, start_date: Date.new(2015,5,4)})
week2 = Week.new({year: 2015, month: 5, week: 2, start_date: Date.new(2015,5,4)})
expect(week2).to_not be_valid
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment