require "rails_helper" feature 'Conference management' do before do Rails.application.load_seed end scenario 'Creating a new conference' do sign_in_as_admin visit management_root_path expect(page).to_not have_content "FooConf" create_new_conference visit management_root_path expect(page).to have_content "FooConf" end scenario 'Enabling the call for papers of a conference' do sign_in_as_admin create_new_conference visit root_path expect(page).to have_link I18n.t('views.welcome.submit_event', event_type: '') visit management_root_path click_on_first_conference_in_management_root click_on I18n.t('management.conferences.show.cfp_status') expect(page).to_not have_link I18n.t('views.welcome.submit_event', event_type: '') end scenario 'Editing an existing conference' do sign_in_as_admin create_new_conference click_on I18n.t('actions.edit.button', model: Conference.model_name.human) fill_in Conference.human_attribute_name(:title), with: 'FooBarBazConf' page.find('.btn.btn-primary').click expect(page).to have_content 'FooBarBazConf' end scenario 'Deleting a newly created conference', js: true do sign_in_as_admin create_new_conference(host_name: '127.0.0.1') click_on 'Clarion' expect(page).to have_content 'FooConf' click_on_first_conference_in_management_root accept_confirm do click_on I18n.t('actions.destroy.button', model: Conference.model_name.human) end visit management_root_path expect(page).to_not have_content 'FooConf' end scenario 'Reviewing an event' do sign_in_as_admin create_new_conference submit_an_event_proposition(true) visit management_root_path click_on_first_conference_in_management_root click_on I18n.t('activerecord.models.event', count: 2).capitalize click_on I18n.t('actions.view.button', model: Event.model_name.human) expect(page).to have_content('This is just a sample title of an event') end scenario 'Editing an event' do sign_in_as_admin create_new_conference submit_an_event_proposition(true) visit management_root_path click_on_first_conference_in_management_root click_on I18n.t('activerecord.models.event', count: 2).capitalize expect(page).to have_content('This is just a sample title of an event') click_on I18n.t('actions.edit.button', model: Event.model_name.human) fill_in Event.human_attribute_name(:title), with: 'This is just a sample edited title of an event' click_on I18n.t('helpers.submit.event.update') expect(page).to have_content I18n.t('management.events.update.event_successfully_updated') expect(page).to have_content 'This is just a sample edited title of an event' end scenario 'Creating a profile for a submitter' do sign_in_as_admin create_new_conference submit_an_event_proposition(true) visit management_root_path click_on_first_conference_in_management_root click_on I18n.t('activerecord.models.personal_profile', count: 2).capitalize click_on I18n.t('actions.create.title', model: PersonalProfile.model_name.human) fill_in_personal_profile expect(page).to have_content I18n.t('management.personal_profiles.create.successfully_created') expect(page).to have_content 'Foo Bar' end end