Last stage of refactoring of the ability model and spec

This commit is contained in:
Henne Vogelsang 2015-04-14 17:33:59 +02:00
parent 762985b83d
commit 6a5cccbaad
22 changed files with 409 additions and 159 deletions

View file

@ -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) }

View file

@ -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

View file

@ -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')