Use create for all users in specs where necessary

This commit is contained in:
Sebastian Serth
2022-09-20 16:19:24 +02:00
committed by Sebastian Serth
parent 9c9f45ff77
commit 521626275f
10 changed files with 32 additions and 32 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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