Last stage of refactoring of the ability model and spec
This commit is contained in:
parent
762985b83d
commit
6a5cccbaad
22 changed files with 409 additions and 159 deletions
|
|
@ -2,11 +2,11 @@ require 'spec_helper'
|
|||
|
||||
feature 'Has correct abilities' do
|
||||
# It is necessary to use bang version of let to build roles before user
|
||||
let(:conference1) { create(:conference) } # user is organizer
|
||||
let(:conference2) { create(:conference) } # user is cfp
|
||||
let(:conference3) { create(:conference) } # user is info_desk
|
||||
let(:conference4) { create(:conference) } # user is volunteer coordinator
|
||||
let(:conference5) { create(:conference) } # user has no role
|
||||
let(:conference1) { create(:conference, venue: create(:venue)) } # user is organizer
|
||||
let(:conference2) { create(:conference, venue: create(:venue)) } # user is cfp
|
||||
let(:conference3) { create(:conference, venue: create(:venue)) } # user is info_desk
|
||||
let(:conference4) { create(:conference, venue: create(:venue)) } # user is volunteer coordinator
|
||||
let(:conference5) { create(:conference, venue: create(:venue)) } # user has no role
|
||||
|
||||
let(:role_organizer) { create(:role, name: 'organizer', resource: conference1) }
|
||||
let(:role_cfp) { create(:role, name: 'cfp', resource: conference2) }
|
||||
|
|
|
|||
|
|
@ -1,19 +1,15 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature Event do
|
||||
let!(:conference) { create(:conference) }
|
||||
let!(:conference) { create(:conference, call_for_paper: create(:call_for_paper) ) }
|
||||
let!(:organizer_role) { create(:organizer_role, resource: conference) }
|
||||
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
|
||||
let!(:participant) { create(:user) }
|
||||
let!(:participant_without_bio) { create(:user, biography: '') }
|
||||
|
||||
before(:each) do
|
||||
conference.call_for_paper = create(:call_for_paper)
|
||||
conference.event_types = [create(:event_type)]
|
||||
|
||||
@options = {}
|
||||
@options[:send_mail] = 'false'
|
||||
|
||||
@event = create(:event, conference: conference, title: 'Example Proposal')
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -10,12 +10,10 @@ feature Conference do
|
|||
|
||||
sign_in organizer
|
||||
|
||||
visit edit_admin_conference_venue_path(
|
||||
# create the venue
|
||||
visit admin_conference_venue_path(
|
||||
conference_id: conference.short_title)
|
||||
|
||||
expect(page.find("//*[@id='venue_submit_action']").
|
||||
text).to eq('Update Venue')
|
||||
|
||||
click_link 'Create Venue'
|
||||
fill_in 'venue_name', with: 'Example University'
|
||||
fill_in 'venue_street', with: 'Example Street 42'
|
||||
fill_in 'venue_city', with: 'Example City'
|
||||
|
|
@ -25,12 +23,9 @@ feature Conference do
|
|||
fill_in 'venue_description',
|
||||
with: 'Lorem ipsum dolor sit amet, consetetur' \
|
||||
'sadipscing elitr, sed diam nonumy eirmod tempor'
|
||||
|
||||
click_button 'Update Venue'
|
||||
|
||||
click_button 'Create Venue'
|
||||
expect(flash).
|
||||
to eq('Venue was successfully updated.')
|
||||
|
||||
to eq('Venue was successfully created.')
|
||||
venue = Conference.find(conference.id).venue
|
||||
expect(venue.name).to eq('Example University')
|
||||
expect(venue.street).to eq('Example Street 42')
|
||||
|
|
@ -38,16 +33,16 @@ feature Conference do
|
|||
expect(venue.description).to eq('Lorem ipsum dolor sit amet, consetetur' \
|
||||
'sadipscing elitr, sed diam nonumy eirmod tempor')
|
||||
|
||||
# edit the venue
|
||||
click_link 'Edit Venue'
|
||||
expect(page.find("//*[@id='venue_submit_action']").
|
||||
text).to eq('Update Venue')
|
||||
fill_in 'venue_name', with: 'Example University new'
|
||||
fill_in 'venue_website', with: 'www.example.com new'
|
||||
fill_in 'venue_description',
|
||||
with: 'new'
|
||||
|
||||
fill_in 'venue_description', with: 'new'
|
||||
click_button 'Update Venue'
|
||||
expect(flash).
|
||||
to eq('Venue was successfully updated.')
|
||||
|
||||
venue.reload
|
||||
expect(venue.name).to eq('Example University new')
|
||||
expect(venue.website).to eq('www.example.com new')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue