osem-fcy/spec/features/cfp_spec.rb

92 lines
3.2 KiB
Ruby
Raw Normal View History

2014-05-14 15:56:22 +02:00
require 'spec_helper'
feature Conference do
2014-08-12 15:48:29 +03:00
let!(:conference) { create(:conference) }
let!(:organizer_role) { create(:organizer_role, resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
2014-05-14 15:56:22 +02:00
2014-08-12 15:48:29 +03:00
shared_examples 'add and update cfp' do
2014-05-14 15:56:22 +02:00
scenario 'adds a new cfp', feature: true, js: true do
expected_count = CallForPapers.count + 1
2014-08-12 15:48:29 +03:00
sign_in organizer
2014-05-14 15:56:22 +02:00
visit admin_conference_callforpapers_path(conference.short_title)
click_button 'Create Call for papers'
expect(flash).
to eq('Creating the call for papers failed. ' +
"Start date can't be blank. End date can't be blank.")
2014-05-14 15:56:22 +02:00
today = Date.today - 1
page.execute_script(
"$('#conference-start-datepicker').val('#{today.strftime('%d/%m/%Y')}')")
page.execute_script(
"$('#conference-end-datepicker').val('#{(today + 7).strftime('%d/%m/%Y')}')")
fill_in 'call_for_papers_description', with: 'Cfp description'
fill_in 'call_for_papers_rating', with: '4'
click_button 'Create Call for papers'
# Validations
expect(flash).
to eq('Call for Papers was successfully created.')
expect(find('#conference-start-datepicker').value).
to eq(today.strftime('%Y-%m-%d'))
expect(find('#conference-end-datepicker').value).
to eq((today + 7).strftime('%Y-%m-%d'))
expect(find('#call_for_papers_description').text).
to eq('Cfp description')
expect(find('#call_for_papers_rating').value).to eq('4')
expect(CallForPapers.count).to eq(expected_count)
end
scenario 'update cfp', feature: true, js: true do
conference.call_for_papers = create(:call_for_papers)
expected_count = CallForPapers.count
2014-08-12 15:48:29 +03:00
sign_in organizer
2014-05-14 15:56:22 +02:00
visit admin_conference_callforpapers_path(conference.short_title)
# Validate update with empty start date will not saved
page.execute_script(
"$('#conference-start-datepicker').val('')")
click_button 'Update Call for papers'
expect(flash).
to eq('Updating call for papers failed. ' +
"Start date can't be blank.")
# Fill in date
today = Date.today - 7
page.execute_script(
"$('#conference-start-datepicker').val('#{today.strftime('%d/%m/%Y')}')")
page.execute_script(
"$('#conference-end-datepicker').val('#{(today + 14).strftime('%d/%m/%Y')}')")
fill_in 'call_for_papers_description', with: 'Updated description'
fill_in 'call_for_papers_rating', with: '0'
click_button 'Update Call for papers'
# Validations
expect(flash).
to eq('Call for Papers was successfully updated.')
expect(find('#conference-start-datepicker').value).
to eq(today.strftime('%Y-%m-%d'))
expect(find('#conference-end-datepicker').value).
to eq((today + 14).strftime('%Y-%m-%d'))
expect(find('#call_for_papers_description').text).
to eq('Updated description')
expect(find('#call_for_papers_rating').value).to eq('0')
expect(CallForPapers.count).to eq(expected_count)
end
end
2014-08-12 11:51:59 +03:00
describe 'organizer' do
2014-08-12 15:48:29 +03:00
it_behaves_like 'add and update cfp'
2014-05-14 15:56:22 +02:00
end
end