Apply manual rubocop fixes

This commit is contained in:
Sebastian Serth
2021-05-14 11:07:11 +02:00
parent 6cbecb5b39
commit da0a682ffb
109 changed files with 431 additions and 416 deletions

View File

@ -3,86 +3,86 @@
require 'rails_helper'
describe CodeOcean::FilePolicy do
subject { described_class }
subject(:policy) { described_class }
let(:exercise) { FactoryBot.create(:fibonacci) }
let(:submission) { FactoryBot.create(:submission) }
permissions :create? do
context 'as part of an exercise' do
context 'when being part of an exercise' do
let(:file) { exercise.files.first }
it 'grants access to admins' do
expect(subject).to permit(FactoryBot.build(:admin), file)
expect(policy).to permit(FactoryBot.build(:admin), file)
end
it 'grants access to authors' do
expect(subject).to permit(exercise.author, file)
expect(policy).to permit(exercise.author, file)
end
it 'does not grant access to all other users' do
%i[external_user teacher].each do |factory_name|
expect(subject).not_to permit(FactoryBot.build(factory_name), file)
expect(policy).not_to permit(FactoryBot.build(factory_name), file)
end
end
end
context 'as part of a submission' do
context 'when being part of a submission' do
let(:file) { submission.files.first }
context 'where file creation is allowed' do
context 'when file creation is allowed' do
before do
submission.exercise.update(allow_file_creation: true)
end
it 'grants access to authors' do
expect(subject).to permit(submission.author, file)
expect(policy).to permit(submission.author, file)
end
end
context 'where file creation is not allowed' do
context 'when file creation is not allowed' do
before do
submission.exercise.update(allow_file_creation: false)
end
it 'grants access to authors' do
expect(subject).not_to permit(submission.author, file)
expect(policy).not_to permit(submission.author, file)
end
end
it 'does not grant access to all other users' do
%i[admin external_user teacher].each do |factory_name|
expect(subject).not_to permit(FactoryBot.build(factory_name), file)
expect(policy).not_to permit(FactoryBot.build(factory_name), file)
end
end
end
end
permissions :destroy? do
context 'as part of an exercise' do
context 'when being part of an exercise' do
let(:file) { exercise.files.first }
it 'grants access to admins' do
expect(subject).to permit(FactoryBot.build(:admin), file)
expect(policy).to permit(FactoryBot.build(:admin), file)
end
it 'grants access to authors' do
expect(subject).to permit(exercise.author, file)
expect(policy).to permit(exercise.author, file)
end
it 'does not grant access to all other users' do
%i[external_user teacher].each do |factory_name|
expect(subject).not_to permit(FactoryBot.build(factory_name), file)
expect(policy).not_to permit(FactoryBot.build(factory_name), file)
end
end
end
context 'as part of a submission' do
context 'when being part of a submission' do
let(:file) { submission.files.first }
it 'does not grant access to anyone' do
%i[admin external_user teacher].each do |factory_name|
expect(subject).not_to permit(FactoryBot.build(factory_name), file)
expect(policy).not_to permit(FactoryBot.build(factory_name), file)
end
end
end