address the issue of second user becoming an admin automatically.
This commit is contained in:
parent
c546229a16
commit
6ab2de4dd9
4 changed files with 13 additions and 5 deletions
|
|
@ -4,7 +4,8 @@ describe Admin::ConferenceController do
|
||||||
|
|
||||||
# It is necessary to use bang version of let to build roles before user
|
# It is necessary to use bang version of let to build roles before user
|
||||||
let(:conference) { create(:conference) }
|
let(:conference) { create(:conference) }
|
||||||
let!(:first_user) { create(:user) }
|
let!(:deleted_user) { create(:deleted_user) }
|
||||||
|
let!(:admin_user) { create(:user) } # Second user. Automatically becomes admin.
|
||||||
let!(:organizer_role) { create(:role, name: 'organizer', resource: conference) }
|
let!(:organizer_role) { create(:role, name: 'organizer', resource: conference) }
|
||||||
|
|
||||||
let(:organizer) { create(:user, role_ids: organizer_role.id) }
|
let(:organizer) { create(:user, role_ids: organizer_role.id) }
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,11 @@ FactoryGirl.define do
|
||||||
factory :organizer do
|
factory :organizer do
|
||||||
after(:create) { |user| user.role_ids = create(:organizer_role).id }
|
after(:create) { |user| user.role_ids = create(:organizer_role).id }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
factory :deleted_user do
|
||||||
|
after(:create) { |user| user.email = 'deleted@localhost.osem',
|
||||||
|
name = 'User deleted',
|
||||||
|
biography = 'Data is no longer available for deleted user.' }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ require 'cancan/matchers'
|
||||||
describe 'User' do
|
describe 'User' do
|
||||||
describe 'Abilities' do
|
describe 'Abilities' do
|
||||||
subject(:ability){ Ability.new(user) }
|
subject(:ability){ Ability.new(user) }
|
||||||
let!(:first_user) { create(:user) } # automatically becomes admin
|
let!(:deleted_user) { create(:deleted_user) }
|
||||||
|
let!(:admin_user) { create(:user) } # Second user. Automatically becomes admin.
|
||||||
let(:user){ nil }
|
let(:user){ nil }
|
||||||
let(:conference_not_public) { create(:conference, make_conference_public: false) }
|
let(:conference_not_public) { create(:conference, make_conference_public: false) }
|
||||||
let(:conference_public) { create(:conference, make_conference_public: true)}
|
let(:conference_public) { create(:conference, make_conference_public: true)}
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ require 'spec_helper'
|
||||||
describe User do
|
describe User do
|
||||||
|
|
||||||
# It is necessary to use bang version of let to build roles before user
|
# It is necessary to use bang version of let to build roles before user
|
||||||
let!(:user_admin) { create(:user) }
|
let!(:deleted_user) { create(:deleted_user) }
|
||||||
let!(:admin) { create(:admin) }
|
let!(:admin_user) { create(:user) } # Second user. Automatically becomes admin.
|
||||||
let!(:participant) { create(:user) }
|
let!(:participant) { create(:user) }
|
||||||
let!(:conference) { create(:conference) }
|
let!(:conference) { create(:conference) }
|
||||||
let!(:organizer_role) { create(:organizer_role, resource: conference) }
|
let!(:organizer_role) { create(:organizer_role, resource: conference) }
|
||||||
|
|
@ -13,7 +13,7 @@ describe User do
|
||||||
let!(:user) { create(:user) }
|
let!(:user) { create(:user) }
|
||||||
|
|
||||||
it 'returns the correct role' do
|
it 'returns the correct role' do
|
||||||
expect(user_admin.is_admin).to eq(true)
|
expect(admin_user.is_admin).to eq(true)
|
||||||
expect(organizer.roles.first).to eq(organizer_role)
|
expect(organizer.roles.first).to eq(organizer_role)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue