Fix authorization of new and create in ConferenceRegistrationsController

Before authorization we need to set conference relation.
Change in proposal spec cause conference has to have valid registration
period for successful redirect to registration after confirm proposal.
This commit is contained in:
Aditya Prakash 2016-02-28 12:07:13 +05:30
parent b18e302224
commit c71d15565e
5 changed files with 32 additions and 5 deletions

View file

@ -49,5 +49,16 @@ feature Registration do
expect(conference.user_registered?(participant)).to be(true)
end
end
context 'registration is closed' do
let(:conference_with_closed_registration) { create(:conference, registration_period: create(:registration_period)) }
scenario 'registers for a conference', feature: true do
participant.is_admin = false
visit new_conference_conference_registrations_path(conference_with_closed_registration.short_title)
expect(current_path).to eq(root_path)
expect(flash).to eq 'You are not authorized to access this page.'
end
end
end
end

View file

@ -2,6 +2,7 @@ require 'spec_helper'
feature Event do
let!(:conference) { create(:conference) }
let!(:registration_period) { create(:registration_period, conference: conference, start_date: Date.current) }
let!(:cfp) { create(:cfp, program_id: conference.program.id) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
@ -134,6 +135,7 @@ feature Event do
click_link "confirm_proposal_#{@event.id}"
expect(flash).
to eq('The proposal was confirmed. Please register to attend the conference.')
expect(current_path).to eq(new_conference_conference_registrations_path(conference.short_title))
@event.reload
expect(@event.state).to eq('confirmed')
end

View file

@ -35,6 +35,11 @@ describe 'User' do
# Test abilities for not signed in users
context 'when user is not signed in' do
let(:conference_with_open_registration) { create(:conference) }
let!(:open_registration_period) { create(:registration_period, conference: conference_with_open_registration, start_date: Date.current - 6.days) }
let(:conference_with_closed_registration) { create(:conference) }
let!(:closed_registration_period) { create(:registration_period, conference: conference_with_closed_registration, start_date: Date.current - 6.days, end_date: Date.current - 6.days) }
it{ should be_able_to(:index, Conference)}
it{ should be_able_to(:show, conference_public)}
@ -55,8 +60,11 @@ describe 'User' do
it{ should be_able_to(:show, User)}
it{ should be_able_to(:create, Registration)}
it{ should be_able_to(:show, Registration.new)}
it{ should be_able_to(:create, Registration.new(conference_id: conference_with_open_registration.id))}
it{ should be_able_to(:new, Registration.new(conference_id: conference_with_open_registration.id))}
it{ should_not be_able_to(:new, Registration.new(conference_id: conference_with_closed_registration.id))}
it{ should_not be_able_to(:create, Registration.new(conference_id: conference_with_closed_registration.id))}
it{ should_not be_able_to(:manage, registration)}
it{ should be_able_to(:create, Event)}