osem-fcy/spec/features/venues_spec.rb
Henne Vogelsang df0b9ab356
Replace flash helper with "within"
So we can't forget to find "#flash" on the page ever again...
2025-08-06 13:11:48 +02:00

57 lines
1.9 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
feature Conference do
let!(:conference) { create(:conference) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'venue' do
scenario 'adds and updates venue' do
sign_in organizer
# create the venue
visit admin_conference_venue_path(
conference_id: conference.short_title)
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'
fill_in 'venue_postalcode', with: '12345'
select 'Germany', from: 'venue_country'
fill_in 'venue_website', with: 'www.example.com'
fill_in 'venue_description',
with: 'Lorem ipsum dolor sit amet, consetetur' \
'sadipscing elitr, sed diam nonumy eirmod tempor'
click_button 'Create Venue'
within('#flash') { expect(page).to have_text('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')
expect(venue.website).to eq('www.example.com')
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'
fill_in 'venue_name', with: 'Example University new'
fill_in 'venue_website', with: 'www.example.com new'
fill_in 'venue_description', with: 'new'
click_button 'Update Venue'
within('#flash') { expect(page).to have_text('Venue was successfully updated.') }
expect(venue.reload.name).to eq('Example University new')
expect(venue.reload.website).to eq('www.example.com new')
expect(venue.reload.description).to eq('new')
end
end
describe 'organizer' do
it_behaves_like 'venue'
end
end