Refactor reject_illegal_file_attributes check

* Improve readability of method
* Add a new check for the author of a submission
This commit is contained in:
Sebastian Serth
2022-09-04 11:42:36 +02:00
parent b67daedfc9
commit 22cd202e9d
2 changed files with 22 additions and 3 deletions

View File

@ -25,6 +25,8 @@ describe FileParameters do
it 'new file' do
submission = create(:submission, exercise: hello_world, id: 1337)
controller.instance_variable_set(:@current_user, submission.user)
new_file = create(:file, context: submission)
expect(file_accepted?(new_file)).to be true
end
@ -42,16 +44,27 @@ describe FileParameters do
expect(file_accepted?(hidden_file)).to be false
end
it 'read only file' do
it 'read-only file' do
read_only_file = create(:file, context: hello_world, read_only: true)
expect(file_accepted?(read_only_file)).to be false
end
it 'non existent file' do
it 'non-existent file' do
# Ensure to use an invalid id for the file.
non_existent_file = build(:file, context: hello_world, id: -1)
expect(file_accepted?(non_existent_file)).to be false
end
it 'file of another submission' do
learner1 = create(:learner)
learner2 = create(:learner)
submission_learner1 = create(:submission, exercise: hello_world, user: learner1)
_submission_learner2 = create(:submission, exercise: hello_world, user: learner2)
controller.instance_variable_set(:@current_user, learner2)
other_submissions_file = create(:file, context: submission_learner1)
expect(file_accepted?(other_submissions_file)).to be false
end
end
end
end