implement manual event management and support for multiple speakers per event

This commit is contained in:
Eugene Dubinin 2017-02-02 16:34:59 +02:00
parent 46a6a59622
commit 790e2fd3a2
24 changed files with 180 additions and 89 deletions

View file

@ -3,8 +3,7 @@ require 'spec_helper'
describe EmailSettings do
let(:conference) { create(:conference, short_title: 'goto', start_date: Date.new(2014, 05, 01), end_date: Date.new(2014, 05, 06)) }
let(:user) { create(:user, username: 'johnd', email: 'john@doe.com', name: 'John Doe') }
let(:event_user) { create(:submitter, user: user) }
let(:event) { create(:event, program: conference.program, title: 'Talk about talks', event_users: [event_user]) }
let(:event) { create(:event, program: conference.program, title: 'Talk about talks', submitter: user) }
let(:expected_hash) do
{
'email' => 'john@doe.com',

View file

@ -236,9 +236,7 @@ describe Event do
describe '#submitter' do
it 'returns the user that submitted the event' do
submitter = create(:user)
submitted_event = create(:event)
submitted_event.event_users = [create(:event_user, user: submitter, event_role: 'submitter')]
submitted_event = create(:event, submitter: submitter)
expect(submitted_event.submitter).to eq submitter
end
end
@ -288,9 +286,10 @@ describe Event do
describe '#speaker_names' do
context 'returns the speakers of the event' do
it 'when submitter is a speaker too' do
speaker1 = create(:user, name: 'user speaker 1')
new_event.event_users = [create(:event_user, user: speaker1, event_role: 'submitter')]
new_event.event_users << [create(:event_user, user: speaker1, event_role: 'speaker')]
submitter = create(:user, name: 'user speaker 1')
new_event.submitter = submitter
new_event.speakers = [submitter]
expect(new_event.speaker_names).to eq 'user speaker 1'
end
@ -299,10 +298,10 @@ describe Event do
submitter = create(:user, name: 'user submitter 1')
speaker1 = create(:user, name: 'user speaker 1')
new_event.event_users = [create(:event_user, user: submitter, event_role: 'submitter')]
new_event.event_users << [create(:event_user, user: speaker1, event_role: 'speaker')]
new_event.submitter = submitter
new_event.speakers = [speaker1]
expect(new_event.speaker_names).to eq 'user submitter 1 and user speaker 1'
expect(new_event.speaker_names).to eq 'user speaker 1'
end
it 'when there are multiple speakers' do
@ -310,11 +309,10 @@ describe Event do
speaker1 = create(:user, name: 'user speaker 1')
speaker2 = create(:user, name: 'user speaker 2')
new_event.event_users = [create(:event_user, user: submitter, event_role: 'submitter')]
new_event.event_users << [create(:event_user, user: speaker1, event_role: 'speaker')]
new_event.event_users << [create(:event_user, user: speaker2, event_role: 'speaker')]
new_event.submitter = submitter
new_event.speakers = [speaker1, speaker2]
expect(new_event.speaker_names).to eq 'user submitter 1, user speaker 1, and user speaker 2'
expect(new_event.speaker_names).to eq 'user speaker 1 and user speaker 2'
end
end
end