Added test for RootRouteConstraint and conferences#current

This commit is contained in:
divyanshumehta 2017-03-19 09:17:31 +05:30
parent 529b8eb710
commit ee7684d845
5 changed files with 60 additions and 5 deletions

View file

@ -26,6 +26,13 @@ describe ConferencesController do
end
end
describe 'GET #current' do
it 'redirects to first conference splashpage' do
get :current
expect(response).to redirect_to(conference_path(Conference.first.short_title))
end
end
describe 'OPTIONS #index' do
it 'Response code is 200' do
process :index, 'OPTIONS'

View file

@ -0,0 +1,39 @@
require 'spec_helper'
describe RootRouteConstraint do
describe '#matches?' do
it 'returns false, if no conference is live' do
constraint = RootRouteConstraint.new
expect(constraint.matches?).to eq false
end
it 'returns false, when one conference is live but no splashpage' do
create(:conference)
constraint = RootRouteConstraint.new
expect(constraint.matches?).to eq false
end
it 'returns false, when one conference is live but no public splashpage' do
conference = create(:full_conference)
conference.splashpage.public = false
conference.splashpage.save
constraint = RootRouteConstraint.new
expect(constraint.matches?).to eq false
end
it 'returns true, when one conference is live and has public splashpage' do
create(:full_conference)
constraint = RootRouteConstraint.new
expect(constraint.matches?).to eq true
end
it 'returns false, if more than one conference is live' do
create(:full_conference)
create(:full_conference)
constraint = RootRouteConstraint.new
expect(constraint.matches?).to eq false
end
end
end