From a1124546f1fa5e9b98596845e0d9525dd4162009 Mon Sep 17 00:00:00 2001 From: AEtherC0r3 Date: Thu, 1 Jun 2017 01:11:28 +0300 Subject: [PATCH] Fix rspec tests because of the changes to the cfp Remove redundant association Note: a conference created with :full_conference already has a cfp --- app/models/cfp.rb | 4 +- app/models/program.rb | 2 +- app/models/registration.rb | 1 - .../versions/_object_desc_and_link.html.haml | 2 +- .../admin/conferences_controller_spec.rb | 8 +- spec/controllers/proposals_controller_spec.rb | 8 +- spec/factories/cfps.rb | 1 + spec/factories/programs.rb | 4 + spec/features/ability_spec.rb | 14 ++-- spec/features/cfp_spec.rb | 8 +- spec/features/versions_spec.rb | 6 +- spec/models/ability_spec.rb | 4 +- spec/models/conference_spec.rb | 80 +++++++++---------- spec/models/email_settings_spec.rb | 7 +- spec/models/program_spec.rb | 2 +- spec/models/registration_spec.rb | 1 - 16 files changed, 78 insertions(+), 74 deletions(-) diff --git a/app/models/cfp.rb b/app/models/cfp.rb index 92058e87..f06bec7b 100644 --- a/app/models/cfp.rb +++ b/app/models/cfp.rb @@ -81,12 +81,12 @@ class Cfp < ActiveRecord::Base private 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 .add(:end_date, "can't be after the conference end date (#{program.conference.end_date})") 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 .add(:start_date, "can't be after the conference end date (#{program.conference.end_date})") end diff --git a/app/models/program.rb b/app/models/program.rb index 09bb3627..49894cbd 100644 --- a/app/models/program.rb +++ b/app/models/program.rb @@ -135,7 +135,7 @@ class Program < ActiveRecord::Base # * +false+ -> If the CFP is not set or today isn't in the CFP period. # * +true+ -> If today is in the CFP period. def cfp_open? - cfp = cfps.events + cfp = self.cfp cfp.present? && (cfp.start_date..cfp.end_date).cover?(Date.current) end diff --git a/app/models/registration.rb b/app/models/registration.rb index 5d2555f2..7003dfd7 100644 --- a/app/models/registration.rb +++ b/app/models/registration.rb @@ -2,7 +2,6 @@ class Registration < ActiveRecord::Base belongs_to :user belongs_to :conference - has_and_belongs_to_many :events has_and_belongs_to_many :qanswers has_and_belongs_to_many :vchoices diff --git a/app/views/admin/versions/_object_desc_and_link.html.haml b/app/views/admin/versions/_object_desc_and_link.html.haml index 1c7ed154..14b1f2fc 100644 --- a/app/views/admin/versions/_object_desc_and_link.html.haml +++ b/app/views/admin/versions/_object_desc_and_link.html.haml @@ -85,7 +85,7 @@ admin_conference_program_path(conference_id: Conference.find(version.conference_id).short_title) - when 'Cfp' - = 'cfp' + = 'cfp for' - cfp = current_or_last_object_state(version.item_type, version.item_id) = 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) diff --git a/spec/controllers/admin/conferences_controller_spec.rb b/spec/controllers/admin/conferences_controller_spec.rb index 3964996f..74acbb3f 100644 --- a/spec/controllers/admin/conferences_controller_spec.rb +++ b/spec/controllers/admin/conferences_controller_spec.rb @@ -177,10 +177,10 @@ describe Admin::ConferencesController do it 'assigns cfp_max an array with maximum weeks' do conference date = Date.new(2014, 05, 26) - conference.program.cfp = create(:cfp, - program: conference.program, - start_date: date, - end_date: date + 14) + create(:cfp, + program: conference.program, + start_date: date, + end_date: date + 14) get :index expect(assigns(:cfp_weeks)).to match_array([1, 2, 3]) end diff --git a/spec/controllers/proposals_controller_spec.rb b/spec/controllers/proposals_controller_spec.rb index 8f033973..9b01e55f 100644 --- a/spec/controllers/proposals_controller_spec.rb +++ b/spec/controllers/proposals_controller_spec.rb @@ -10,7 +10,7 @@ describe ProposalsController do describe 'GET #new' do before do # 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 end @@ -26,7 +26,7 @@ describe ProposalsController do describe 'POST #create' do # 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 post :create, event: attributes_for(:event, event_type_id: event_type.id), @@ -192,7 +192,7 @@ describe ProposalsController do describe 'GET #new' do before do # 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 end @@ -223,7 +223,7 @@ describe ProposalsController do describe 'POST #create' do # 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 post :create, event: attributes_for(:event, event_type_id: event_type.id), diff --git a/spec/factories/cfps.rb b/spec/factories/cfps.rb index 1ff58b9d..6a8e96ed 100644 --- a/spec/factories/cfps.rb +++ b/spec/factories/cfps.rb @@ -4,6 +4,7 @@ FactoryGirl.define do factory :cfp do start_date { 1.day.ago } end_date { 6.days.from_now } + cfp_type 'events' program end diff --git a/spec/factories/programs.rb b/spec/factories/programs.rb index a1a6e1f7..e3c20153 100644 --- a/spec/factories/programs.rb +++ b/spec/factories/programs.rb @@ -5,5 +5,9 @@ FactoryGirl.define do schedule_public false schedule_fluid false conference + + trait :with_cfp do + after(:create) { |program| create(:cfp, program: program) } + end end end diff --git a/spec/features/ability_spec.rb b/spec/features/ability_spec.rb index 80e968bd..162123f4 100644 --- a/spec/features/ability_spec.rb +++ b/spec/features/ability_spec.rb @@ -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('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('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('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") @@ -112,8 +112,8 @@ feature 'Has correct abilities' do visit 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) - expect(current_path).to eq(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, conference1.program.cfp)) visit 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_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('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('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") @@ -324,8 +324,8 @@ feature 'Has correct abilities' do visit 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) - expect(current_path).to eq(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, conference2.program.cfp)) visit 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) 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) visit admin_conference_program_events_path(conference3.short_title) diff --git a/spec/features/cfp_spec.rb b/spec/features/cfp_spec.rb index 8869de1f..7ecfb1e6 100644 --- a/spec/features/cfp_spec.rb +++ b/spec/features/cfp_spec.rb @@ -31,6 +31,8 @@ feature Conference do # Validations expect(flash) .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('#end_date').text).to eq((today + 6).strftime('%A, %B %-d. %Y')) @@ -38,11 +40,11 @@ feature Conference do end scenario 'update cfp', feature: true, js: true do - conference.program.cfp = create(:cfp) + create(:cfp, program: conference.program) expected_count = Cfp.count 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' # Validate update with empty start date will not saved @@ -65,6 +67,8 @@ feature Conference do # Validations expect(flash) .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('#end_date').text).to eq((today + 14).strftime('%A, %B %-d. %Y')) expect(Cfp.count).to eq(expected_count) diff --git a/spec/features/versions_spec.rb b/spec/features/versions_spec.rb index 90c0fa35..11afa1d2 100644 --- a/spec/features/versions_spec.rb +++ b/spec/features/versions_spec.rb @@ -38,9 +38,9 @@ feature 'Version' do cfp.destroy 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) updated start date and end date of cfp 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) 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 for events 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 scenario 'display changes in registration_period', feature: true, versioning: true, js: true do diff --git a/spec/models/ability_spec.rb b/spec/models/ability_spec.rb index 6ddc44e6..001c7365 100644 --- a/spec/models/ability_spec.rb +++ b/spec/models/ability_spec.rb @@ -10,7 +10,6 @@ describe 'User' do let(:user){ nil } 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_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_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_unconfirmed) { create(:event) } @@ -32,7 +30,7 @@ describe 'User' do let(:resource) { create(:resource, conference: my_conference)} 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(:conference_with_open_registration) { create(:conference) } let!(:open_registration_period) { create(:registration_period, conference: conference_with_open_registration, start_date: Date.current - 6.days) } diff --git a/spec/models/conference_spec.rb b/spec/models/conference_spec.rb index 9bdbea83..d6e4f485 100755 --- a/spec/models/conference_spec.rb +++ b/spec/models/conference_spec.rb @@ -48,7 +48,7 @@ describe Conference do subject.start_date = Date.today + 6.weeks subject.end_date = Date.today + 7.weeks 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) options = {} @@ -115,7 +115,7 @@ describe Conference do } subject.events_per_week = db_data 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) unconfirmed = create(:event, program: subject.program) @@ -186,7 +186,7 @@ describe Conference do subject.events_per_week = db_data 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) @@ -203,7 +203,7 @@ describe Conference do subject.start_date = Date.today + 6.weeks subject.end_date = Date.today + 7.weeks 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) result = { @@ -220,7 +220,7 @@ describe Conference do subject.start_date = Date.today + 6.weeks subject.end_date = Date.today + 7.weeks 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) unconfirmed = create(:event, program: subject.program) @@ -258,7 +258,7 @@ describe Conference do subject.events_per_week = db_data 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) @@ -992,7 +992,6 @@ describe Conference do end it 'calculates correct for new conference' do - subject.program.cfp = nil subject.venue = nil subject.program.tracks = [] subject.program.event_types = [] @@ -1006,7 +1005,6 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: subject.end_date - 14, end_date: subject.end_date, conference: subject) - subject.program.cfp = nil subject.venue = nil subject.program.event_types = [] subject.program.tracks = [] @@ -1024,7 +1022,7 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: subject.end_date - 14, end_date: subject.end_date, conference: subject) - subject.program.cfp = create(:cfp) + create(:cfp, program: subject.program) subject.venue = nil subject.program.tracks = [] subject.program.event_types = [] @@ -1043,7 +1041,7 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: subject.end_date - 14, 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.rooms = [] subject.program.tracks = [] @@ -1063,7 +1061,7 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: Date.today, 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.rooms = [create(:room, venue: subject.venue)] subject.program.tracks = [] @@ -1087,7 +1085,7 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: Date.today, end_date: Date.today + 14, conference: subject) - subject.program.cfp = create(:cfp) + create(:cfp, program: subject.program) subject.program.event_types = [] subject.program.difficulty_levels = [] subject.splashpage = create(:splashpage, public: false) @@ -1109,7 +1107,7 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: Date.today, 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.rooms = [create(:room, venue: subject.venue)] subject.program.difficulty_levels = [] @@ -1133,7 +1131,7 @@ describe Conference do subject.registration_period = create(:registration_period, start_date: Date.today, 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.rooms = [create(:room, venue: subject.venue)] subject.splashpage = create(:splashpage, public: true) @@ -1176,34 +1174,34 @@ describe Conference do describe '#cfp_weeks' do it 'calculates new year' do - cfp = create(:cfp) + cfp = create(:cfp, program: subject.program) cfp.start_date = Date.new(2013, 12, 30) cfp.end_date = Date.new(2013, 12, 30) + 6 - subject.program.cfp = cfp + cfp.save! expect(subject.cfp_weeks).to eq(1) end 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.end_date = Date.new(2014, 05, 26) + 6 - subject.program.cfp = cfp + cfp.save! expect(subject.cfp_weeks).to eq(1) end 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.end_date = Date.new(2014, 05, 26) - subject.program.cfp = cfp + cfp.save! expect(subject.cfp_weeks).to eq(1) end 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.end_date = Date.new(2014, 05, 26) + 10 - subject.program.cfp = cfp + cfp.save! expect(subject.cfp_weeks).to eq(2) end end @@ -1211,36 +1209,36 @@ describe Conference do describe '#get_submissions_per_week' 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.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)] expect(subject.get_submissions_per_week).to eq([1, 1, 1, 1, 1]) end 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.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)] expect(subject.get_submissions_per_week).to eq([0, 0, 0, 0, 1]) end 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.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]) end 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.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) + 14)] subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 28)] @@ -1248,20 +1246,20 @@ describe Conference do end 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.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) + 14)] expect(subject.get_submissions_per_week).to eq([0, 1, 2, 2]) end 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.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) + 7)] subject.program.events += [create(:event, created_at: Date.new(2014, 05, 26) + 14)] @@ -1269,29 +1267,29 @@ describe Conference do end it 'pads left' do - cfp = create(:cfp) + cfp = create(:cfp, program: subject.program) cfp.start_date = Date.new(2014, 05, 26) 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)] expect(subject.get_submissions_per_week).to eq([0, 0, 0, 1]) end it 'pads middle' do - cfp = create(:cfp) + cfp = create(:cfp, program: subject.program) cfp.start_date = Date.new(2014, 05, 26) 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) + 21)] expect(subject.get_submissions_per_week).to eq([1, 1, 1, 2]) end it 'pads right' do - cfp = create(:cfp) + cfp = create(:cfp, program: subject.program) cfp.start_date = Date.new(2014, 05, 26) 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))] expect(subject.get_submissions_per_week).to eq([1, 1, 1, 1]) end @@ -1460,7 +1458,7 @@ describe Conference do context 'open cfp' do before do - subject.program.cfp = create(:cfp) + create(:cfp, program: subject.program) end it '#registration_open? is true' do diff --git a/spec/models/email_settings_spec.rb b/spec/models/email_settings_spec.rb index 949f5762..c4ab7830 100644 --- a/spec/models/email_settings_spec.rb +++ b/spec/models/email_settings_spec.rb @@ -46,9 +46,10 @@ describe EmailSettings do context 'conference has cfp' do before do - conference.program.update_attributes(cfp: create(:cfp, - start_date: Date.new(2014, 04, 29), - end_date: Date.new(2014, 05, 06))) + create(:cfp, + start_date: Date.new(2014, 04, 29), + 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) } expected_hash.merge!(cfp_dates_hash) end diff --git a/spec/models/program_spec.rb b/spec/models/program_spec.rb index 6ea62cf0..208ca386 100644 --- a/spec/models/program_spec.rb +++ b/spec/models/program_spec.rb @@ -7,7 +7,7 @@ describe Program do describe 'association' do 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(:event_types).dependent(:destroy) } it { is_expected.to have_many(:tracks).dependent(:destroy) } diff --git a/spec/models/registration_spec.rb b/spec/models/registration_spec.rb index 772ccda1..25ec9888 100644 --- a/spec/models/registration_spec.rb +++ b/spec/models/registration_spec.rb @@ -29,7 +29,6 @@ describe 'Registration' do describe 'association' do it { is_expected.to belong_to(:user) } 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(:vchoices) } it { is_expected.to have_many(:events_registrations) }