Use create for all users in specs where necessary
This commit is contained in:

committed by
Sebastian Serth

parent
9c9f45ff77
commit
521626275f
@ -89,8 +89,8 @@ describe InternalUser do
|
||||
|
||||
describe '#teacher?' do
|
||||
it 'is only true for teachers' do
|
||||
expect(build(:admin).teacher?).to be false
|
||||
expect(build(:teacher).teacher?).to be true
|
||||
expect(create(:admin).teacher?).to be false
|
||||
expect(create(:teacher).teacher?).to be true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -11,7 +11,7 @@ describe Admin::DashboardPolicy do
|
||||
end
|
||||
|
||||
it 'does not grant access to teachers' do
|
||||
expect(policy).not_to permit(build(:teacher), :dashboard)
|
||||
expect(policy).not_to permit(create(:teacher), :dashboard)
|
||||
end
|
||||
|
||||
it 'does not grant access to external users' do
|
||||
|
@ -22,7 +22,7 @@ describe CodeOcean::FilePolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), file)
|
||||
expect(policy).not_to permit(create(factory_name), file)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -52,7 +52,7 @@ describe CodeOcean::FilePolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), file)
|
||||
expect(policy).not_to permit(create(factory_name), file)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -72,7 +72,7 @@ describe CodeOcean::FilePolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), file)
|
||||
expect(policy).not_to permit(create(factory_name), file)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -82,7 +82,7 @@ describe CodeOcean::FilePolicy do
|
||||
|
||||
it 'does not grant access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), file)
|
||||
expect(policy).not_to permit(create(factory_name), file)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -10,7 +10,7 @@ describe ConsumerPolicy do
|
||||
it 'grants access to admins only' do
|
||||
expect(policy).to permit(build(:admin), Consumer.new)
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), Consumer.new)
|
||||
expect(policy).not_to permit(create(factory_name), Consumer.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -13,7 +13,7 @@ describe ExecutionEnvironmentPolicy do
|
||||
end
|
||||
|
||||
it 'grants access to teachers' do
|
||||
expect(policy).to permit(build(:teacher), execution_environment)
|
||||
expect(policy).to permit(create(:teacher), execution_environment)
|
||||
end
|
||||
|
||||
it 'does not grant access to external users' do
|
||||
@ -33,7 +33,7 @@ describe ExecutionEnvironmentPolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), execution_environment)
|
||||
expect(policy).not_to permit(create(factory_name), execution_environment)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -51,7 +51,7 @@ describe ExecutionEnvironmentPolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), execution_environment)
|
||||
expect(policy).not_to permit(create(factory_name), execution_environment)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -64,7 +64,7 @@ describe ExecutionEnvironmentPolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name))
|
||||
expect(policy).not_to permit(create(factory_name))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -11,7 +11,7 @@ describe ExercisePolicy do
|
||||
it 'grants access to admins only' do
|
||||
expect(policy).to permit(build(:admin), exercise)
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), exercise)
|
||||
expect(policy).not_to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -23,7 +23,7 @@ describe ExercisePolicy do
|
||||
end
|
||||
|
||||
it 'grants access to teachers' do
|
||||
expect(policy).to permit(build(:teacher), exercise)
|
||||
expect(policy).to permit(create(:teacher), exercise)
|
||||
end
|
||||
|
||||
it 'does not grant access to external users' do
|
||||
@ -44,7 +44,7 @@ describe ExercisePolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), exercise)
|
||||
expect(policy).not_to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -86,7 +86,7 @@ describe ExercisePolicy do
|
||||
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
context "when user is #{factory_name}" do
|
||||
let(:user) { build(factory_name) }
|
||||
let(:user) { create(factory_name) }
|
||||
|
||||
it 'does not grant access' do
|
||||
expect(policy).not_to permit(user, exercise)
|
||||
@ -117,7 +117,7 @@ describe ExercisePolicy do
|
||||
|
||||
it 'does not grant access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), exercise)
|
||||
expect(policy).not_to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -127,7 +127,7 @@ describe ExercisePolicy do
|
||||
|
||||
it 'grants access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).to permit(build(factory_name), exercise)
|
||||
expect(policy).to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -137,7 +137,7 @@ describe ExercisePolicy do
|
||||
|
||||
it 'grants access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).to permit(build(factory_name), exercise)
|
||||
expect(policy).to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -155,7 +155,7 @@ describe ExercisePolicy do
|
||||
|
||||
it 'does not grant access to everyone' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), exercise)
|
||||
expect(policy).not_to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -168,7 +168,7 @@ describe ExercisePolicy do
|
||||
|
||||
it 'grants access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).to permit(build(factory_name), exercise)
|
||||
expect(policy).to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -176,7 +176,7 @@ describe ExercisePolicy do
|
||||
context 'when teacher-defined assessments are not available' do
|
||||
it 'does not grant access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), exercise)
|
||||
expect(policy).not_to permit(create(factory_name), exercise)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -10,7 +10,7 @@ describe ExternalUserPolicy do
|
||||
it 'grants access to admins only' do
|
||||
expect(policy).to permit(build(:admin), ExternalUser.new)
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), ExternalUser.new)
|
||||
expect(policy).not_to permit(create(factory_name), ExternalUser.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -18,10 +18,10 @@ describe ExternalUserPolicy do
|
||||
|
||||
permissions :index? do
|
||||
it 'grants access to admins and teachers only' do
|
||||
expect(policy).to permit(build(:admin), ExternalUser.new)
|
||||
expect(policy).to permit(build(:teacher), ExternalUser.new)
|
||||
expect(policy).to permit(create(:admin), ExternalUser.new)
|
||||
expect(policy).to permit(create(:teacher), ExternalUser.new)
|
||||
[:external_user].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), ExternalUser.new)
|
||||
expect(policy).not_to permit(create(factory_name), ExternalUser.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -19,7 +19,7 @@ describe FileTypePolicy do
|
||||
|
||||
it 'does not grant access to all other users' do
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), file_type)
|
||||
expect(policy).not_to permit(create(factory_name), file_type)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -10,7 +10,7 @@ describe InternalUserPolicy do
|
||||
it 'grants access to admins only' do
|
||||
expect(policy).to permit(build(:admin), InternalUser.new)
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), InternalUser.new)
|
||||
expect(policy).not_to permit(create(factory_name), InternalUser.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -20,7 +20,7 @@ describe InternalUserPolicy do
|
||||
context 'with an admin user' do
|
||||
it 'grants access to no one' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), build(:admin))
|
||||
expect(policy).not_to permit(create(factory_name), build(:admin))
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -29,7 +29,7 @@ describe InternalUserPolicy do
|
||||
it 'grants access to admins only' do
|
||||
expect(policy).to permit(build(:admin), InternalUser.new)
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), build(:teacher))
|
||||
expect(policy).not_to permit(create(factory_name), create(:teacher))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -8,7 +8,7 @@ describe SubmissionPolicy do
|
||||
permissions :create? do
|
||||
it 'grants access to anyone' do
|
||||
%i[admin external_user teacher].each do |factory_name|
|
||||
expect(policy).to permit(build(factory_name), Submission.new)
|
||||
expect(policy).to permit(create(factory_name), Submission.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -30,7 +30,7 @@ describe SubmissionPolicy do
|
||||
it 'grants access to admins only' do
|
||||
expect(policy).to permit(build(:admin), Submission.new)
|
||||
%i[external_user teacher].each do |factory_name|
|
||||
expect(policy).not_to permit(build(factory_name), Submission.new)
|
||||
expect(policy).not_to permit(create(factory_name), Submission.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user