Fix rspec tests because of the changes to the cfp
Remove redundant association Note: a conference created with :full_conference already has a cfp
This commit is contained in:
parent
2bff918556
commit
a1124546f1
16 changed files with 78 additions and 74 deletions
|
|
@ -81,12 +81,12 @@ class Cfp < ActiveRecord::Base
|
||||||
private
|
private
|
||||||
|
|
||||||
def before_end_of_conference
|
def before_end_of_conference
|
||||||
if program.conference && program.conference.end_date && end_date && (end_date > program.conference.end_date)
|
if program && program.conference && program.conference.end_date && end_date && (end_date > program.conference.end_date)
|
||||||
errors
|
errors
|
||||||
.add(:end_date, "can't be after the conference end date (#{program.conference.end_date})")
|
.add(:end_date, "can't be after the conference end date (#{program.conference.end_date})")
|
||||||
end
|
end
|
||||||
|
|
||||||
if program.conference && program.conference.end_date && start_date && (start_date > program.conference.end_date)
|
if program && program.conference && program.conference.end_date && start_date && (start_date > program.conference.end_date)
|
||||||
errors
|
errors
|
||||||
.add(:start_date, "can't be after the conference end date (#{program.conference.end_date})")
|
.add(:start_date, "can't be after the conference end date (#{program.conference.end_date})")
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ class Program < ActiveRecord::Base
|
||||||
# * +false+ -> If the CFP is not set or today isn't in the CFP period.
|
# * +false+ -> If the CFP is not set or today isn't in the CFP period.
|
||||||
# * +true+ -> If today is in the CFP period.
|
# * +true+ -> If today is in the CFP period.
|
||||||
def cfp_open?
|
def cfp_open?
|
||||||
cfp = cfps.events
|
cfp = self.cfp
|
||||||
|
|
||||||
cfp.present? && (cfp.start_date..cfp.end_date).cover?(Date.current)
|
cfp.present? && (cfp.start_date..cfp.end_date).cover?(Date.current)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ class Registration < ActiveRecord::Base
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_and_belongs_to_many :events
|
|
||||||
has_and_belongs_to_many :qanswers
|
has_and_belongs_to_many :qanswers
|
||||||
has_and_belongs_to_many :vchoices
|
has_and_belongs_to_many :vchoices
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
admin_conference_program_path(conference_id: Conference.find(version.conference_id).short_title)
|
admin_conference_program_path(conference_id: Conference.find(version.conference_id).short_title)
|
||||||
|
|
||||||
- when 'Cfp'
|
- when 'Cfp'
|
||||||
= 'cfp'
|
= 'cfp for'
|
||||||
- cfp = current_or_last_object_state(version.item_type, version.item_id)
|
- cfp = current_or_last_object_state(version.item_type, version.item_id)
|
||||||
= link_if_alive version, cfp.cfp_type,
|
= link_if_alive version, cfp.cfp_type,
|
||||||
admin_conference_program_cfp_path(conference_id: Conference.find(version.conference_id).short_title, id: version.item_id)
|
admin_conference_program_cfp_path(conference_id: Conference.find(version.conference_id).short_title, id: version.item_id)
|
||||||
|
|
|
||||||
|
|
@ -177,10 +177,10 @@ describe Admin::ConferencesController do
|
||||||
it 'assigns cfp_max an array with maximum weeks' do
|
it 'assigns cfp_max an array with maximum weeks' do
|
||||||
conference
|
conference
|
||||||
date = Date.new(2014, 05, 26)
|
date = Date.new(2014, 05, 26)
|
||||||
conference.program.cfp = create(:cfp,
|
create(:cfp,
|
||||||
program: conference.program,
|
program: conference.program,
|
||||||
start_date: date,
|
start_date: date,
|
||||||
end_date: date + 14)
|
end_date: date + 14)
|
||||||
get :index
|
get :index
|
||||||
expect(assigns(:cfp_weeks)).to match_array([1, 2, 3])
|
expect(assigns(:cfp_weeks)).to match_array([1, 2, 3])
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ describe ProposalsController do
|
||||||
describe 'GET #new' do
|
describe 'GET #new' do
|
||||||
before do
|
before do
|
||||||
# We allow new proposal only if program has open cfp
|
# We allow new proposal only if program has open cfp
|
||||||
conference.program.update_attributes(cfp: create(:cfp))
|
create(:cfp, program: conference.program)
|
||||||
get :new, conference_id: conference.short_title
|
get :new, conference_id: conference.short_title
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@ describe ProposalsController do
|
||||||
|
|
||||||
describe 'POST #create' do
|
describe 'POST #create' do
|
||||||
# We allow proposal create only if program has open cfp
|
# We allow proposal create only if program has open cfp
|
||||||
before { conference.program.update_attributes(cfp: create(:cfp)) }
|
before { create(:cfp, program: conference.program) }
|
||||||
|
|
||||||
it 'assigns url variables' do
|
it 'assigns url variables' do
|
||||||
post :create, event: attributes_for(:event, event_type_id: event_type.id),
|
post :create, event: attributes_for(:event, event_type_id: event_type.id),
|
||||||
|
|
@ -192,7 +192,7 @@ describe ProposalsController do
|
||||||
describe 'GET #new' do
|
describe 'GET #new' do
|
||||||
before do
|
before do
|
||||||
# We allow new proposal only if program has open cfp
|
# We allow new proposal only if program has open cfp
|
||||||
conference.program.update_attributes(cfp: create(:cfp))
|
create(:cfp, program: conference.program)
|
||||||
get :new, conference_id: conference.short_title
|
get :new, conference_id: conference.short_title
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -223,7 +223,7 @@ describe ProposalsController do
|
||||||
|
|
||||||
describe 'POST #create' do
|
describe 'POST #create' do
|
||||||
# We allow proposal create only if program has open cfp
|
# We allow proposal create only if program has open cfp
|
||||||
before { conference.program.update_attributes(cfp: create(:cfp)) }
|
before { create(:cfp, program: conference.program) }
|
||||||
|
|
||||||
it 'assigns url variables' do
|
it 'assigns url variables' do
|
||||||
post :create, event: attributes_for(:event, event_type_id: event_type.id),
|
post :create, event: attributes_for(:event, event_type_id: event_type.id),
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ FactoryGirl.define do
|
||||||
factory :cfp do
|
factory :cfp do
|
||||||
start_date { 1.day.ago }
|
start_date { 1.day.ago }
|
||||||
end_date { 6.days.from_now }
|
end_date { 6.days.from_now }
|
||||||
|
cfp_type 'events'
|
||||||
|
|
||||||
program
|
program
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,9 @@ FactoryGirl.define do
|
||||||
schedule_public false
|
schedule_public false
|
||||||
schedule_fluid false
|
schedule_fluid false
|
||||||
conference
|
conference
|
||||||
|
|
||||||
|
trait :with_cfp do
|
||||||
|
after(:create) { |program| create(:cfp, program: program) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ feature 'Has correct abilities' do
|
||||||
expect(page).to have_link('Rooms', href: "/admin/conferences/#{conference1.short_title}/venue/rooms")
|
expect(page).to have_link('Rooms', href: "/admin/conferences/#{conference1.short_title}/venue/rooms")
|
||||||
expect(page).to have_link('Lodgings', href: "/admin/conferences/#{conference1.short_title}/lodgings")
|
expect(page).to have_link('Lodgings', href: "/admin/conferences/#{conference1.short_title}/lodgings")
|
||||||
expect(page).to have_link('Program', href: "/admin/conferences/#{conference1.short_title}/program")
|
expect(page).to have_link('Program', href: "/admin/conferences/#{conference1.short_title}/program")
|
||||||
expect(page).to have_link('Call for Papers', href: "/admin/conferences/#{conference1.short_title}/program/cfp")
|
expect(page).to have_link('Call for Papers', href: "/admin/conferences/#{conference1.short_title}/program/cfps")
|
||||||
expect(page).to have_link('Events', href: "/admin/conferences/#{conference1.short_title}/program/events")
|
expect(page).to have_link('Events', href: "/admin/conferences/#{conference1.short_title}/program/events")
|
||||||
expect(page).to have_link('Tracks', href: "/admin/conferences/#{conference1.short_title}/program/tracks")
|
expect(page).to have_link('Tracks', href: "/admin/conferences/#{conference1.short_title}/program/tracks")
|
||||||
expect(page).to have_link('Event Types', href: "/admin/conferences/#{conference1.short_title}/program/event_types")
|
expect(page).to have_link('Event Types', href: "/admin/conferences/#{conference1.short_title}/program/event_types")
|
||||||
|
|
@ -112,8 +112,8 @@ feature 'Has correct abilities' do
|
||||||
visit new_admin_conference_program_cfp_path(conference1.short_title)
|
visit new_admin_conference_program_cfp_path(conference1.short_title)
|
||||||
expect(current_path).to eq(new_admin_conference_program_cfp_path(conference1.short_title))
|
expect(current_path).to eq(new_admin_conference_program_cfp_path(conference1.short_title))
|
||||||
|
|
||||||
visit edit_admin_conference_program_cfp_path(conference1.short_title)
|
visit edit_admin_conference_program_cfp_path(conference1.short_title, conference1.program.cfp)
|
||||||
expect(current_path).to eq(edit_admin_conference_program_cfp_path(conference1.short_title))
|
expect(current_path).to eq(edit_admin_conference_program_cfp_path(conference1.short_title, conference1.program.cfp))
|
||||||
|
|
||||||
visit admin_conference_program_events_path(conference1.short_title)
|
visit admin_conference_program_events_path(conference1.short_title)
|
||||||
expect(current_path).to eq(admin_conference_program_events_path(conference1.short_title))
|
expect(current_path).to eq(admin_conference_program_events_path(conference1.short_title))
|
||||||
|
|
@ -256,7 +256,7 @@ feature 'Has correct abilities' do
|
||||||
expect(page).to have_link('Rooms', href: "/admin/conferences/#{conference2.short_title}/venue/rooms")
|
expect(page).to have_link('Rooms', href: "/admin/conferences/#{conference2.short_title}/venue/rooms")
|
||||||
expect(page).to_not have_link('Lodgings', href: "/admin/conferences/#{conference2.short_title}/lodgings")
|
expect(page).to_not have_link('Lodgings', href: "/admin/conferences/#{conference2.short_title}/lodgings")
|
||||||
expect(page).to have_link('Program', href: "/admin/conferences/#{conference2.short_title}/program")
|
expect(page).to have_link('Program', href: "/admin/conferences/#{conference2.short_title}/program")
|
||||||
expect(page).to have_link('Call for Papers', href: "/admin/conferences/#{conference2.short_title}/program/cfp")
|
expect(page).to have_link('Call for Papers', href: "/admin/conferences/#{conference2.short_title}/program/cfps")
|
||||||
expect(page).to have_link('Events', href: "/admin/conferences/#{conference2.short_title}/program/events")
|
expect(page).to have_link('Events', href: "/admin/conferences/#{conference2.short_title}/program/events")
|
||||||
expect(page).to have_link('Tracks', href: "/admin/conferences/#{conference2.short_title}/program/tracks")
|
expect(page).to have_link('Tracks', href: "/admin/conferences/#{conference2.short_title}/program/tracks")
|
||||||
expect(page).to have_link('Event Types', href: "/admin/conferences/#{conference2.short_title}/program/event_types")
|
expect(page).to have_link('Event Types', href: "/admin/conferences/#{conference2.short_title}/program/event_types")
|
||||||
|
|
@ -324,8 +324,8 @@ feature 'Has correct abilities' do
|
||||||
visit new_admin_conference_program_cfp_path(conference2.short_title)
|
visit new_admin_conference_program_cfp_path(conference2.short_title)
|
||||||
expect(current_path).to eq(new_admin_conference_program_cfp_path(conference2.short_title))
|
expect(current_path).to eq(new_admin_conference_program_cfp_path(conference2.short_title))
|
||||||
|
|
||||||
visit edit_admin_conference_program_cfp_path(conference2.short_title)
|
visit edit_admin_conference_program_cfp_path(conference2.short_title, conference2.program.cfp)
|
||||||
expect(current_path).to eq(edit_admin_conference_program_cfp_path(conference2.short_title))
|
expect(current_path).to eq(edit_admin_conference_program_cfp_path(conference2.short_title, conference2.program.cfp))
|
||||||
|
|
||||||
visit admin_conference_program_events_path(conference2.short_title)
|
visit admin_conference_program_events_path(conference2.short_title)
|
||||||
expect(current_path).to eq(admin_conference_program_events_path(conference2.short_title))
|
expect(current_path).to eq(admin_conference_program_events_path(conference2.short_title))
|
||||||
|
|
@ -537,7 +537,7 @@ feature 'Has correct abilities' do
|
||||||
visit new_admin_conference_program_cfp_path(conference3.short_title)
|
visit new_admin_conference_program_cfp_path(conference3.short_title)
|
||||||
expect(current_path).to eq(root_path)
|
expect(current_path).to eq(root_path)
|
||||||
|
|
||||||
visit edit_admin_conference_program_cfp_path(conference3.short_title)
|
visit edit_admin_conference_program_cfp_path(conference3.short_title, conference3.program.cfp)
|
||||||
expect(current_path).to eq(root_path)
|
expect(current_path).to eq(root_path)
|
||||||
|
|
||||||
visit admin_conference_program_events_path(conference3.short_title)
|
visit admin_conference_program_events_path(conference3.short_title)
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ feature Conference do
|
||||||
# Validations
|
# Validations
|
||||||
expect(flash)
|
expect(flash)
|
||||||
.to eq('Call for papers successfully created.')
|
.to eq('Call for papers successfully created.')
|
||||||
|
|
||||||
|
visit admin_conference_program_cfp_path(conference.short_title, conference.program.cfp)
|
||||||
expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y'))
|
expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y'))
|
||||||
expect(find('#end_date').text).to eq((today + 6).strftime('%A, %B %-d. %Y'))
|
expect(find('#end_date').text).to eq((today + 6).strftime('%A, %B %-d. %Y'))
|
||||||
|
|
||||||
|
|
@ -38,11 +40,11 @@ feature Conference do
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'update cfp', feature: true, js: true do
|
scenario 'update cfp', feature: true, js: true do
|
||||||
conference.program.cfp = create(:cfp)
|
create(:cfp, program: conference.program)
|
||||||
expected_count = Cfp.count
|
expected_count = Cfp.count
|
||||||
|
|
||||||
sign_in organizer
|
sign_in organizer
|
||||||
visit admin_conference_program_cfp_path(conference.short_title)
|
visit admin_conference_program_cfp_path(conference.short_title, conference.program.cfp)
|
||||||
click_link 'Edit'
|
click_link 'Edit'
|
||||||
|
|
||||||
# Validate update with empty start date will not saved
|
# Validate update with empty start date will not saved
|
||||||
|
|
@ -65,6 +67,8 @@ feature Conference do
|
||||||
# Validations
|
# Validations
|
||||||
expect(flash)
|
expect(flash)
|
||||||
.to eq('Call for papers successfully updated.')
|
.to eq('Call for papers successfully updated.')
|
||||||
|
|
||||||
|
visit admin_conference_program_cfp_path(conference.short_title, conference.program.cfp)
|
||||||
expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y'))
|
expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y'))
|
||||||
expect(find('#end_date').text).to eq((today + 14).strftime('%A, %B %-d. %Y'))
|
expect(find('#end_date').text).to eq((today + 14).strftime('%A, %B %-d. %Y'))
|
||||||
expect(Cfp.count).to eq(expected_count)
|
expect(Cfp.count).to eq(expected_count)
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,9 @@ feature 'Version' do
|
||||||
cfp.destroy
|
cfp.destroy
|
||||||
|
|
||||||
visit admin_revision_history_path
|
visit admin_revision_history_path
|
||||||
expect(page).to have_text("Someone (probably via the console) created new cfp in conference #{conference.short_title}")
|
expect(page).to have_text("Someone (probably via the console) created new cfp for events in conference #{conference.short_title}")
|
||||||
expect(page).to have_text("Someone (probably via the console) updated start date and end date of cfp in conference #{conference.short_title}")
|
expect(page).to have_text("Someone (probably via the console) updated start date and end date of cfp for events in conference #{conference.short_title}")
|
||||||
expect(page).to have_text("Someone (probably via the console) deleted cfp in conference #{conference.short_title}")
|
expect(page).to have_text("Someone (probably via the console) deleted cfp for events in conference #{conference.short_title}")
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'display changes in registration_period', feature: true, versioning: true, js: true do
|
scenario 'display changes in registration_period', feature: true, versioning: true, js: true do
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ describe 'User' do
|
||||||
let(:user){ nil }
|
let(:user){ nil }
|
||||||
|
|
||||||
let!(:my_conference) { create(:full_conference) }
|
let!(:my_conference) { create(:full_conference) }
|
||||||
let!(:my_cfp) { create(:cfp, program: my_conference.program) }
|
|
||||||
let(:my_venue) { my_conference.venue || create(:venue, conference: my_conference) }
|
let(:my_venue) { my_conference.venue || create(:venue, conference: my_conference) }
|
||||||
let(:my_registration) { create(:registration, conference: my_conference, user: admin) }
|
let(:my_registration) { create(:registration, conference: my_conference, user: admin) }
|
||||||
|
|
||||||
|
|
@ -22,7 +21,6 @@ describe 'User' do
|
||||||
|
|
||||||
let(:conference_not_public) { create(:conference, splashpage: create(:splashpage, public: false)) }
|
let(:conference_not_public) { create(:conference, splashpage: create(:splashpage, public: false)) }
|
||||||
let(:conference_public) { create(:full_conference, splashpage: create(:splashpage, public: true)) }
|
let(:conference_public) { create(:full_conference, splashpage: create(:splashpage, public: true)) }
|
||||||
let!(:conference_public_cfp) { create(:cfp, program: conference_public.program) }
|
|
||||||
|
|
||||||
let(:event_confirmed) { create(:event, state: 'confirmed') }
|
let(:event_confirmed) { create(:event, state: 'confirmed') }
|
||||||
let(:event_unconfirmed) { create(:event) }
|
let(:event_unconfirmed) { create(:event) }
|
||||||
|
|
@ -32,7 +30,7 @@ describe 'User' do
|
||||||
let(:resource) { create(:resource, conference: my_conference)}
|
let(:resource) { create(:resource, conference: my_conference)}
|
||||||
let(:registration) { create(:registration) }
|
let(:registration) { create(:registration) }
|
||||||
|
|
||||||
let(:program_with_cfp) { create(:program, cfp: create(:cfp)) }
|
let(:program_with_cfp) { create(:program, :with_cfp) }
|
||||||
let(:program_without_cfp) { create(:program) }
|
let(:program_without_cfp) { create(:program) }
|
||||||
let(:conference_with_open_registration) { create(:conference) }
|
let(:conference_with_open_registration) { create(:conference) }
|
||||||
let!(:open_registration_period) { create(:registration_period, conference: conference_with_open_registration, start_date: Date.current - 6.days) }
|
let!(:open_registration_period) { create(:registration_period, conference: conference_with_open_registration, start_date: Date.current - 6.days) }
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ describe Conference do
|
||||||
subject.start_date = Date.today + 6.weeks
|
subject.start_date = Date.today + 6.weeks
|
||||||
subject.end_date = Date.today + 7.weeks
|
subject.end_date = Date.today + 7.weeks
|
||||||
subject.save
|
subject.save
|
||||||
subject.program.cfp = create(:cfp, start_date: Date.today - 3.weeks)
|
create(:cfp, start_date: Date.today - 3.weeks, program: subject.program)
|
||||||
|
|
||||||
create(:event, program: subject.program, created_at: Date.today)
|
create(:event, program: subject.program, created_at: Date.today)
|
||||||
options = {}
|
options = {}
|
||||||
|
|
@ -115,7 +115,7 @@ describe Conference do
|
||||||
}
|
}
|
||||||
subject.events_per_week = db_data
|
subject.events_per_week = db_data
|
||||||
subject.save
|
subject.save
|
||||||
subject.program.cfp = create(:cfp, start_date: Date.today - 3.weeks)
|
create(:cfp, start_date: Date.today - 3.weeks, program: subject.program)
|
||||||
|
|
||||||
create(:event, program: subject.program, created_at: Date.today)
|
create(:event, program: subject.program, created_at: Date.today)
|
||||||
unconfirmed = create(:event, program: subject.program)
|
unconfirmed = create(:event, program: subject.program)
|
||||||
|
|
@ -186,7 +186,7 @@ describe Conference do
|
||||||
subject.events_per_week = db_data
|
subject.events_per_week = db_data
|
||||||
|
|
||||||
subject.save
|
subject.save
|
||||||
subject.program.cfp = create(:cfp, start_date: Date.today - 2.weeks)
|
create(:cfp, start_date: Date.today - 2.weeks, program: subject.program)
|
||||||
|
|
||||||
create(:event, program: subject.program, created_at: Date.today - 2.weeks)
|
create(:event, program: subject.program, created_at: Date.today - 2.weeks)
|
||||||
|
|
||||||
|
|
@ -203,7 +203,7 @@ describe Conference do
|
||||||
subject.start_date = Date.today + 6.weeks
|
subject.start_date = Date.today + 6.weeks
|
||||||
subject.end_date = Date.today + 7.weeks
|
subject.end_date = Date.today + 7.weeks
|
||||||
subject.save
|
subject.save
|
||||||
subject.program.cfp = create(:cfp, start_date: Date.today)
|
create(:cfp, start_date: Date.today, program: subject.program)
|
||||||
create(:event, program: subject.program)
|
create(:event, program: subject.program)
|
||||||
|
|
||||||
result = {
|
result = {
|
||||||
|
|
@ -220,7 +220,7 @@ describe Conference do
|
||||||
subject.start_date = Date.today + 6.weeks
|
subject.start_date = Date.today + 6.weeks
|
||||||
subject.end_date = Date.today + 7.weeks
|
subject.end_date = Date.today + 7.weeks
|
||||||
subject.save
|
subject.save
|
||||||
subject.program.cfp = create(:cfp, start_date: Date.today - 3.weeks)
|
create(:cfp, start_date: Date.today - 3.weeks, program: subject.program)
|
||||||
|
|
||||||
create(:event, program: subject.program, created_at: Date.today)
|
create(:event, program: subject.program, created_at: Date.today)
|
||||||
unconfirmed = create(:event, program: subject.program)
|
unconfirmed = create(:event, program: subject.program)
|
||||||
|
|
@ -258,7 +258,7 @@ describe Conference do
|
||||||
subject.events_per_week = db_data
|
subject.events_per_week = db_data
|
||||||
|
|
||||||
subject.save
|
subject.save
|
||||||
subject.program.cfp = create(:cfp, start_date: Date.today - 3.weeks)
|
create(:cfp, start_date: Date.today - 3.weeks, program: subject.program)
|
||||||
|
|
||||||
create(:event, program: subject.program, created_at: Date.today - 3.weeks)
|
create(:event, program: subject.program, created_at: Date.today - 3.weeks)
|
||||||
|
|
||||||
|
|
@ -992,7 +992,6 @@ describe Conference do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'calculates correct for new conference' do
|
it 'calculates correct for new conference' do
|
||||||
subject.program.cfp = nil
|
|
||||||
subject.venue = nil
|
subject.venue = nil
|
||||||
subject.program.tracks = []
|
subject.program.tracks = []
|
||||||
subject.program.event_types = []
|
subject.program.event_types = []
|
||||||
|
|
@ -1006,7 +1005,6 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: subject.end_date - 14,
|
start_date: subject.end_date - 14,
|
||||||
end_date: subject.end_date, conference: subject)
|
end_date: subject.end_date, conference: subject)
|
||||||
subject.program.cfp = nil
|
|
||||||
subject.venue = nil
|
subject.venue = nil
|
||||||
subject.program.event_types = []
|
subject.program.event_types = []
|
||||||
subject.program.tracks = []
|
subject.program.tracks = []
|
||||||
|
|
@ -1024,7 +1022,7 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: subject.end_date - 14,
|
start_date: subject.end_date - 14,
|
||||||
end_date: subject.end_date, conference: subject)
|
end_date: subject.end_date, conference: subject)
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
subject.venue = nil
|
subject.venue = nil
|
||||||
subject.program.tracks = []
|
subject.program.tracks = []
|
||||||
subject.program.event_types = []
|
subject.program.event_types = []
|
||||||
|
|
@ -1043,7 +1041,7 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: subject.end_date - 14,
|
start_date: subject.end_date - 14,
|
||||||
end_date: subject.end_date, conference: subject)
|
end_date: subject.end_date, conference: subject)
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
subject.venue = create(:venue, conference: subject)
|
subject.venue = create(:venue, conference: subject)
|
||||||
subject.venue.rooms = []
|
subject.venue.rooms = []
|
||||||
subject.program.tracks = []
|
subject.program.tracks = []
|
||||||
|
|
@ -1063,7 +1061,7 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: Date.today,
|
start_date: Date.today,
|
||||||
end_date: Date.today + 14, conference: subject)
|
end_date: Date.today + 14, conference: subject)
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
subject.venue = create(:venue, conference: subject)
|
subject.venue = create(:venue, conference: subject)
|
||||||
subject.venue.rooms = [create(:room, venue: subject.venue)]
|
subject.venue.rooms = [create(:room, venue: subject.venue)]
|
||||||
subject.program.tracks = []
|
subject.program.tracks = []
|
||||||
|
|
@ -1087,7 +1085,7 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: Date.today,
|
start_date: Date.today,
|
||||||
end_date: Date.today + 14, conference: subject)
|
end_date: Date.today + 14, conference: subject)
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
subject.program.event_types = []
|
subject.program.event_types = []
|
||||||
subject.program.difficulty_levels = []
|
subject.program.difficulty_levels = []
|
||||||
subject.splashpage = create(:splashpage, public: false)
|
subject.splashpage = create(:splashpage, public: false)
|
||||||
|
|
@ -1109,7 +1107,7 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: Date.today,
|
start_date: Date.today,
|
||||||
end_date: Date.today + 14, conference: subject)
|
end_date: Date.today + 14, conference: subject)
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
subject.venue = create(:venue, conference: subject)
|
subject.venue = create(:venue, conference: subject)
|
||||||
subject.venue.rooms = [create(:room, venue: subject.venue)]
|
subject.venue.rooms = [create(:room, venue: subject.venue)]
|
||||||
subject.program.difficulty_levels = []
|
subject.program.difficulty_levels = []
|
||||||
|
|
@ -1133,7 +1131,7 @@ describe Conference do
|
||||||
subject.registration_period = create(:registration_period,
|
subject.registration_period = create(:registration_period,
|
||||||
start_date: Date.today,
|
start_date: Date.today,
|
||||||
end_date: Date.today + 14, conference: subject)
|
end_date: Date.today + 14, conference: subject)
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
subject.venue = create(:venue, conference: subject)
|
subject.venue = create(:venue, conference: subject)
|
||||||
subject.venue.rooms = [create(:room, venue: subject.venue)]
|
subject.venue.rooms = [create(:room, venue: subject.venue)]
|
||||||
subject.splashpage = create(:splashpage, public: true)
|
subject.splashpage = create(:splashpage, public: true)
|
||||||
|
|
@ -1176,34 +1174,34 @@ describe Conference do
|
||||||
describe '#cfp_weeks' do
|
describe '#cfp_weeks' do
|
||||||
|
|
||||||
it 'calculates new year' do
|
it 'calculates new year' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2013, 12, 30)
|
cfp.start_date = Date.new(2013, 12, 30)
|
||||||
cfp.end_date = Date.new(2013, 12, 30) + 6
|
cfp.end_date = Date.new(2013, 12, 30) + 6
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
expect(subject.cfp_weeks).to eq(1)
|
expect(subject.cfp_weeks).to eq(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is one if start and end are 6 days apart' do
|
it 'is one if start and end are 6 days apart' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 6
|
cfp.end_date = Date.new(2014, 05, 26) + 6
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
expect(subject.cfp_weeks).to eq(1)
|
expect(subject.cfp_weeks).to eq(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is one if start and end are the same date' do
|
it 'is one if start and end are the same date' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26)
|
cfp.end_date = Date.new(2014, 05, 26)
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
expect(subject.cfp_weeks).to eq(1)
|
expect(subject.cfp_weeks).to eq(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is two if start and end are 10 days apart' do
|
it 'is two if start and end are 10 days apart' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 10
|
cfp.end_date = Date.new(2014, 05, 26) + 10
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
expect(subject.cfp_weeks).to eq(2)
|
expect(subject.cfp_weeks).to eq(2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -1211,36 +1209,36 @@ describe Conference do
|
||||||
describe '#get_submissions_per_week' do
|
describe '#get_submissions_per_week' do
|
||||||
|
|
||||||
it 'does calculate correct if cfp start date is altered' do
|
it 'does calculate correct if cfp start date is altered' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) - 7)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) - 7)]
|
||||||
expect(subject.get_submissions_per_week).to eq([1, 1, 1, 1, 1])
|
expect(subject.get_submissions_per_week).to eq([1, 1, 1, 1, 1])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does calculate correct if cfp end date is altered' do
|
it 'does calculate correct if cfp end date is altered' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 28)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 28)]
|
||||||
expect(subject.get_submissions_per_week).to eq([0, 0, 0, 0, 1])
|
expect(subject.get_submissions_per_week).to eq([0, 0, 0, 0, 1])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'pads with zeros if there are no submissions' do
|
it 'pads with zeros if there are no submissions' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
expect(subject.get_submissions_per_week).to eq([0, 0, 0, 0])
|
expect(subject.get_submissions_per_week).to eq([0, 0, 0, 0])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'summarized correct if there are no submissions in one week' do
|
it 'summarized correct if there are no submissions in one week' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 28
|
cfp.end_date = Date.new(2014, 05, 26) + 28
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 7)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 7)]
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)]
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 28)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 28)]
|
||||||
|
|
@ -1248,20 +1246,20 @@ describe Conference do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'summarized correct if there are submissions every week except the first' do
|
it 'summarized correct if there are submissions every week except the first' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 7)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 7)]
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)]
|
||||||
expect(subject.get_submissions_per_week).to eq([0, 1, 2, 2])
|
expect(subject.get_submissions_per_week).to eq([0, 1, 2, 2])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'summarized correct if there are submissions every week' do
|
it 'summarized correct if there are submissions every week' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26))]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26))]
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 7)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 7)]
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)]
|
||||||
|
|
@ -1269,29 +1267,29 @@ describe Conference do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'pads left' do
|
it 'pads left' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 21)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 21)]
|
||||||
expect(subject.get_submissions_per_week).to eq([0, 0, 0, 1])
|
expect(subject.get_submissions_per_week).to eq([0, 0, 0, 1])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'pads middle' do
|
it 'pads middle' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26))]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26))]
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 21)]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 21)]
|
||||||
expect(subject.get_submissions_per_week).to eq([1, 1, 1, 2])
|
expect(subject.get_submissions_per_week).to eq([1, 1, 1, 2])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'pads right' do
|
it 'pads right' do
|
||||||
cfp = create(:cfp)
|
cfp = create(:cfp, program: subject.program)
|
||||||
cfp.start_date = Date.new(2014, 05, 26)
|
cfp.start_date = Date.new(2014, 05, 26)
|
||||||
cfp.end_date = Date.new(2014, 05, 26) + 21
|
cfp.end_date = Date.new(2014, 05, 26) + 21
|
||||||
subject.program.cfp = cfp
|
cfp.save!
|
||||||
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26))]
|
subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26))]
|
||||||
expect(subject.get_submissions_per_week).to eq([1, 1, 1, 1])
|
expect(subject.get_submissions_per_week).to eq([1, 1, 1, 1])
|
||||||
end
|
end
|
||||||
|
|
@ -1460,7 +1458,7 @@ describe Conference do
|
||||||
context 'open cfp' do
|
context 'open cfp' do
|
||||||
|
|
||||||
before do
|
before do
|
||||||
subject.program.cfp = create(:cfp)
|
create(:cfp, program: subject.program)
|
||||||
end
|
end
|
||||||
|
|
||||||
it '#registration_open? is true' do
|
it '#registration_open? is true' do
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,10 @@ describe EmailSettings do
|
||||||
|
|
||||||
context 'conference has cfp' do
|
context 'conference has cfp' do
|
||||||
before do
|
before do
|
||||||
conference.program.update_attributes(cfp: create(:cfp,
|
create(:cfp,
|
||||||
start_date: Date.new(2014, 04, 29),
|
start_date: Date.new(2014, 04, 29),
|
||||||
end_date: Date.new(2014, 05, 06)))
|
end_date: Date.new(2014, 05, 06),
|
||||||
|
program: conference.program)
|
||||||
cfp_dates_hash = { 'cfp_start_date' => Date.new(2014, 04, 29), 'cfp_end_date' => Date.new(2014, 05, 06) }
|
cfp_dates_hash = { 'cfp_start_date' => Date.new(2014, 04, 29), 'cfp_end_date' => Date.new(2014, 05, 06) }
|
||||||
expected_hash.merge!(cfp_dates_hash)
|
expected_hash.merge!(cfp_dates_hash)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ describe Program do
|
||||||
|
|
||||||
describe 'association' do
|
describe 'association' do
|
||||||
it { is_expected.to belong_to :conference }
|
it { is_expected.to belong_to :conference }
|
||||||
it { is_expected.to have_one(:cfp).dependent(:destroy) }
|
it { is_expected.to have_many(:cfps).dependent(:destroy) }
|
||||||
it { is_expected.to have_many(:schedules).dependent(:destroy) }
|
it { is_expected.to have_many(:schedules).dependent(:destroy) }
|
||||||
it { is_expected.to have_many(:event_types).dependent(:destroy) }
|
it { is_expected.to have_many(:event_types).dependent(:destroy) }
|
||||||
it { is_expected.to have_many(:tracks).dependent(:destroy) }
|
it { is_expected.to have_many(:tracks).dependent(:destroy) }
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ describe 'Registration' do
|
||||||
describe 'association' do
|
describe 'association' do
|
||||||
it { is_expected.to belong_to(:user) }
|
it { is_expected.to belong_to(:user) }
|
||||||
it { is_expected.to belong_to(:conference) }
|
it { is_expected.to belong_to(:conference) }
|
||||||
it { is_expected.to have_and_belong_to_many(:events) }
|
|
||||||
it { is_expected.to have_and_belong_to_many(:qanswers) }
|
it { is_expected.to have_and_belong_to_many(:qanswers) }
|
||||||
it { is_expected.to have_and_belong_to_many(:vchoices) }
|
it { is_expected.to have_and_belong_to_many(:vchoices) }
|
||||||
it { is_expected.to have_many(:events_registrations) }
|
it { is_expected.to have_many(:events_registrations) }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue