mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Speaker is also able to see the proposal and able to modify it
This commit is contained in:
parent
e5009f168c
commit
ac8b187f1f
2 changed files with 16 additions and 6 deletions
|
|
@ -216,7 +216,7 @@ class User < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def proposals(conference)
|
def proposals(conference)
|
||||||
events.where('program_id = ? AND event_users.event_role=?', conference.program.id, 'submitter')
|
events.where('program_id = ? AND (event_users.event_role=? OR event_users.event_role=?)', conference.program.id, 'submitter', 'speaker')
|
||||||
end
|
end
|
||||||
|
|
||||||
def proposal_count(conference)
|
def proposal_count(conference)
|
||||||
|
|
|
||||||
|
|
@ -345,24 +345,34 @@ describe User do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'proposals methods' do
|
describe 'proposals methods' do
|
||||||
let(:submitter) { create(:submitter, user: user) }
|
let(:submitter) { create(:user) }
|
||||||
|
let(:speaker) { create(:user) }
|
||||||
let(:event1) { create(:event, program: conference.program) }
|
let(:event1) { create(:event, program: conference.program) }
|
||||||
let(:event2) { create(:event, program: conference.program) }
|
let(:event2) { create(:event, program: conference.program) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
event1.event_users << create(:event_user, user: user, event_role: 'submitter')
|
event1.event_users << create(:event_user, user: submitter, event_role: 'submitter')
|
||||||
event2.event_users << create(:event_user, user: user, event_role: 'submitter')
|
event2.event_users << create(:event_user, user: submitter, event_role: 'submitter')
|
||||||
|
event1.event_users << create(:event_user, user: speaker, event_role: 'speaker')
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#proposals' do
|
describe '#proposals' do
|
||||||
it 'returns events submitted by user' do
|
it 'returns events submitted by user' do
|
||||||
expect(user.proposals(conference)).to match [event1, event2]
|
expect(submitter.proposals(conference)).to match [event1, event2]
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns events in which user is a speaker' do
|
||||||
|
expect(speaker.proposals(conference)).to match [event1]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#proposal_count' do
|
describe '#proposal_count' do
|
||||||
it 'returns number of events submitted by user' do
|
it 'returns number of events submitted by user' do
|
||||||
expect(user.proposal_count(conference)).to eq 2
|
expect(submitter.proposal_count(conference)).to eq 2
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns number of events in which the user is a speaker' do
|
||||||
|
expect(speaker.proposal_count(conference)).to eq 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue