Add relevance field for track requests

The requester can now provide more info about the track and himself
This commit is contained in:
AEtherC0r3 2017-07-26 14:54:10 +03:00 committed by Stella Rouzi
parent 3d250ecf75
commit 2ff4c6d6b2
10 changed files with 40 additions and 5 deletions

View file

@ -60,7 +60,7 @@ describe TracksController do
describe 'POST #create' do
context 'saves successfuly' do
before :each do
post :create, track: attributes_for(:track, short_name: 'my_track'), conference_id: conference.short_title
post :create, track: attributes_for(:track, :self_organized, short_name: 'my_track'), conference_id: conference.short_title
end
it 'redirects to tracks index path' do
@ -86,7 +86,7 @@ describe TracksController do
context 'save fails' do
before :each do
allow_any_instance_of(Track).to receive(:save).and_return(false)
post :create, track: attributes_for(:track, short_name: 'my_track'), conference_id: conference.short_title
post :create, track: attributes_for(:track, :self_organized, short_name: 'my_track'), conference_id: conference.short_title
end
it 'assigns a new track with the correct conference' do
@ -126,7 +126,7 @@ describe TracksController do
describe 'PATCH #update' do
context 'updates successfully' do
before :each do
patch :update, track: attributes_for(:track, color: '#FF0000'),
patch :update, track: attributes_for(:track, :self_organized, color: '#FF0000'),
conference_id: conference.short_title,
id: self_organized_track.short_name
end
@ -152,7 +152,7 @@ describe TracksController do
context 'update fails' do
before :each do
allow_any_instance_of(Track).to receive(:save).and_return(false)
patch :update, track: attributes_for(:track, color: '#FF0000'),
patch :update, track: attributes_for(:track, :self_organized, color: '#FF0000'),
conference_id: conference.short_title,
id: self_organized_track.short_name
end

View file

@ -15,6 +15,7 @@ FactoryGirl.define do
start_date { Date.today }
end_date { Date.today }
room
relevance { Faker::Hipster.paragraph(2) }
end
end
end

View file

@ -48,6 +48,22 @@ describe Track do
it { is_expected.to_not validate_presence_of(:room) }
end
context 'when self_organized? returns true' do
before :each do
allow(subject).to receive(:self_organized?).and_return(true)
end
it { is_expected.to validate_presence_of(:relevance) }
end
context 'when self_organized? returns false' do
before :each do
allow(subject).to receive(:self_organized?).and_return(false)
end
it { is_expected.to_not validate_presence_of(:relevance) }
end
describe '#valid_dates' do
before :each do
@conference = create(:conference, start_date: 1.day.ago, end_date: 2.days.from_now)